Elixir中提供了range,方便我們指定一個範圍的數字.
來看下面的例子:
iex(1)> myrange = 1..3
1..3
iex(2)> 2 in myrange
true
iex(3)> -2 in myrange
false
使用m..n方式來指定range.因為range是可以計數的(enumerable),
可以搭配Enum module使用.
例如:
iex(4)> Enum.each(-2..2, &IO.puts/1)
-2
-1
0
1
2
:ok
keyword list是特殊的list,每個元素是一個雙元素的tuple.
可以用以下兩種方式:
iex(5)> monsters = [{:godzilla, 1954}, {:mothra, 1961}, {:gamera, 1965}]
[godzilla: 1954, mothra: 1961, gamera: 1965]
注意到godzilla要用 :godzilla 明確代表atom的方式.
iex(6)> monsters2 = [godzilla: 1954, mothra: 1961, gamera: 1965]
[godzilla: 1954, mothra: 1961, gamera: 1965]
兩種方式,最後結果是一樣的.可以視自己喜歡的方式使用.
Elixir有提供Keyword模組,對keyword list進行操作.
例如:
iex(7)> Keyword.get(monsters, :godzilla)
1954
也可以用這樣的方式取出
iex(8)> monsters[:godzilla]
1954