- Mastering Elixir
- André Albuquerque Daniel Caixinha
- 247字
- 2021-08-05 10:42:46
Keyword lists
A keyword list is a list in which its elements have a specific format: they are tuples where the first element is an atom (the second element can be of any type), as demonstrated in the following example:
iex> [name: "Gabriel", age: 1] = [{:name, "Gabriel"}, {:age, 1}]
[name: "Gabriel", age: 1]
We can create keyword lists using the following syntax:
iex> keyword_list = [name: "Gabriel", age: 1]
[name: "Gabriel", age: 1]
iex> keyword_list[:name]
"Gabriel"
As you can see from the previous snippet, a keyword list is indeed a list of tuples, with an atom; you can access values in a keyword list using the same syntax as you would in maps. As an alternative, you can use the get function from the Keyword module. Note that this way of declaring a keyword list is just syntatic sugar, as internally this still is a list of tuples–which means that searching for an item in a keyword list is O(n), and not O(1) as in maps.
In a keyword list, contrary to what happens in maps, you can have more than one value for a given key. Also, you can control the order of its elements. Usually, keyword lists are used to allow functions to receive an arbitrary number of optional arguments. We'll be showing an example of this when we look at named functions later in this chapter. You can find all the operations you can do on a keyword list at https://hexdocs.pm/elixir/Keyword.html.
- ASP.NET Core 5.0開發入門與實戰
- DevOps for Networking
- Banana Pi Cookbook
- SEO實戰密碼
- 教孩子學編程:C++入門圖解
- TypeScript項目開發實戰
- 零基礎學Python網絡爬蟲案例實戰全流程詳解(入門與提高篇)
- CoffeeScript Application Development Cookbook
- AutoCAD 2009實訓指導
- Java程序員面試筆試寶典(第2版)
- ScratchJr趣味編程動手玩:讓孩子用編程講故事
- MATLAB GUI純代碼編寫從入門到實戰
- Managing Microsoft Hybrid Clouds
- ABAQUS6.14中文版有限元分析與實例詳解
- Qt 5.12實戰