From the other languages I program in, I’m used to having ranges. In Python, if I want all numbers one up to 100, I write
range(1, 101). Similarly, in Haskell I’d write
[1..100] and in Scala I’d write
1 to 100.
I can’t find something similar in Erlang, either in the syntax or the library. I know that this would be fairly simple to implement myself, but I wanted to make sure it doesn’t exist elsewhere first (particularly since a standard library or language implementation would be loads more efficient).
Is there a way to do ranges either in the Erlang language or standard library? Or is there some idiom that I’m missing? I just want to know if I should implement it myself.
I’m also open to the possibility that I shouldn’t want to use a range in Erlang (I wouldn’t want to be coding Python or Haskell in Erlang). Also, if I do need to implement this myself, if you have any good suggestions for improving performance, I’d love to hear them 🙂
From http://www.erlang.org/doc/man/lists.html it looks like
lists:seq(1, 100) does what you want. You can also do things like
lists:seq(1, 100, 2) to get all of the odd numbers in that range instead.
Answered By – btilly
Answer Checked By – Marilyn (AngularFixing Volunteer)