The List Module in Action
The List module provides a set of functions that operate on lists.
| # |
| # Concatenate lists |
| # |
| iex> [1,2,3] ++ [4,5,6] |
| [1, 2, 3, 4, 5, 6] |
| # |
| # Flatten |
| # |
| iex> List.flatten([[[1], 2], [[[3]]]]) |
| [1, 2, 3] |
| # |
| # Folding (like reduce, but can choose direction) |
| # |
| iex> List.foldl([1,2,3], "", fn value, acc -> "#{value}(#{acc})" end) |
| "3(2(1()))" |
| iex> List.foldr([1,2,3], "", fn value, acc -> "#{value}(#{acc})" end) |
| "1(2(3()))" |
| # |
| # Updating in the middle (not a cheap operation) |
| # |
| iex> list = [ 1, 2, 3 ] |
| [ 1, 2, 3 ] |
| iex> List.replace_at(list, 2, "buckle my shoe") |
| [1, 2, "buckle my shoe"] |
| # |
| # Accessing tuples within lists |
| # |
| iex> kw = [{:name, ... |
Get Programming Elixir 1.2 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.