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.