Learn Elixir through Q&A: Ranges
This and the other “Deck” posts are a repurposing of flashcard study decks to Q&A blog posts.
What is an Elixir Range?
It is way to work with a sequence of integers more effectively without having to explicitly define each integer in the sequence. It also helps with more efficiently checking if a values falls within a sequence of integers. Instead of having to write `[1,2,3,4,5, ...]` you can instead write `1..5`.Can a Range be either ascending or descending?
Yes the following two examples are both valid ranges:ASC
2..20
DESC
20..2
How can pattern matching be used to set a variables to contain the values of the start and end integers of a range?
Using left hand assignment where the range variables are declared left of the equals sign (match operator) like so:score_range = 2..20
start..finish = score_range
=> start
2
=> finish 20
20
Do Enum module functions work with Ranges?
Yes. `Enum` module functionality is implemented for Ranges. Two example functions:Enum.member?/2
Enum.count/1