| 1 |
# [] can be used, first match returned |
| 2 |
1 = [a: 1, b: 2, a: 3][:a] |
| 3 |
|
| 4 |
# [] missing value is nil |
| 5 |
nil = [a: 1, b: 2, a: 3][:c] |
| 6 |
|
| 7 |
# Keyword get also works |
| 8 |
1 = Keyword.get([a: 1, b: 2, a: 3], :a) |
| 9 |
|
| 10 |
# missing value is nil |
| 11 |
nil = Keyword.get([a: 1, b: 2, a: 3], :c) |
| 12 |
|
| 13 |
# an optional default value can be specified |
| 14 |
# for missing keys |
| 15 |
"missing" = Keyword.get([a: 1, b: 2, a: 3], :c, "missing") |
| 16 |
|
| 17 |
# Keyword.take returns a list of matching pairs |
| 18 |
[a: 1, a: 3] = Keyword.take([a: 1, b: 2, a: 3], [:a]) |
| 19 |
|
| 20 |
[] = Keyword.take([a: 1, b: 2, a: 3], [:c]) |
| 21 |
|
| 22 |
# dot syntax does NOT work |
| 23 |
# results in compile error |
| 24 |
[a: 1, b: 2, a: 3].a |
| 25 |
|
| 26 |
# From https://elixir-examples.github.io/single-page |
| 27 |
|