- 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.
- Spring Cloud Alibaba核心技術與實戰(zhàn)案例
- 玩轉Scratch少兒趣味編程
- Google Flutter Mobile Development Quick Start Guide
- Spring技術內幕:深入解析Spring架構與設計
- Teaching with Google Classroom
- 執(zhí)劍而舞:用代碼創(chuàng)作藝術
- Xamarin Blueprints
- RocketMQ實戰(zhàn)與原理解析
- Arduino Electronics Blueprints
- Mastering XenApp?
- 前端架構設計
- Swift iOS Programming for Kids
- TypeScript High Performance
- HTML5+CSS+JavaScript深入學習實錄
- Office VBA開發(fā)經(jīng)典:中級進階卷