agreed. Few fixes may help 1. The documentation https://hexdocs.pm/elixir/Kernel.html#../2 can mention about backward counting behavior, when end is less than start 2. probably iex has a bug, iex(41)> h Kernel.../2 ** (SyntaxError) iex:41: syntax error before: '...'
On Sunday, December 25, 2016 at 6:20:55 PM UTC+5:30, José Valim wrote: > > It is a known and documented behaviour. Even though it could be surprising > for some, we would need a very strong reason to remove it from the > language, and I don't think we have one here. > > > > *José Valim* > www.plataformatec.com.br > Skype: jv.ptec > Founder and Director of R&D > > On Sun, Dec 25, 2016 at 11:28 AM, miwee <[email protected] <javascript:>> > wrote: > >> TLDR: it's a nit picking and may introduce breaking changes without >> possibly any significant gain, except conceptual clarity and explicitness. >> >> iex(27)> n = 4 >> 4 >> iex(28)> 1..n |> Enum.into([]) >> [1, 2, 3, 4] >> iex(29)> n = 1 >> 1 >> iex(30)> 1..n |> Enum.into([]) >> [1] >> iex(31)> n = 0 >> 0 >> iex(32)> 1..n |> Enum.into([]) >> [1, 0] >> >> The result for n = 0, is little bit magical, as I was expecting it to >> return [], but instead it auto-magically detected that end is less than >> start and hence it counted decrementally. I think it creates confusion, >> particularly when both start and end are not constants like the above case >> given. >> >> So does it make sense to restrict the behavior of .. operator to always >> count incrementally. For the case of decremental counting Enum.reverse can >> be used. In that sense 1..4 |> Enum.reverse() is identical to present >> behaviour of 4..1 >> >> -- >> You received this message because you are subscribed to the Google Groups >> "elixir-lang-core" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/elixir-lang-core/da1cd897-1410-4237-b95f-04e61ec7bcfe%40googlegroups.com >> >> <https://groups.google.com/d/msgid/elixir-lang-core/da1cd897-1410-4237-b95f-04e61ec7bcfe%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > > -- You received this message because you are subscribed to the Google Groups "elixir-lang-core" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/bea7a5ff-beb7-43eb-af2f-5934d4524068%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
