Elixir语言中 Access.key!
相关用法介绍如下。
用法:
key!(key)
@spec key!(key()) :: access_fun(data :: struct() | map(), current_value :: term())
返回一个访问映射/结构中给定键的函数。
返回的函数通常作为访问器传递给
、 Kernel.get_in/2
和朋友。Kernel.get_and_update_in/3
类似于
,但如果键不存在,则返回的函数会引发。key/2
例子
iex> map = %{user: %{name: "john"}}
iex> get_in(map, [Access.key!(:user), Access.key!(:name)])
"john"
iex> get_and_update_in(map, [Access.key!(:user), Access.key!(:name)], fn prev ->
...> {prev, String.upcase(prev)}
...> end)
{"john", %{user: %{name: "JOHN"}}}
iex> pop_in(map, [Access.key!(:user), Access.key!(:name)])
{"john", %{user: %{}}}
iex> get_in(map, [Access.key!(:user), Access.key!(:unknown)])
** (KeyError) key :unknown not found in: %{name: "john"}
如果访问的结构不是映射/结构,则会引发错误:
iex> get_in([], [Access.key!(:foo)])
** (RuntimeError) Access.key!/1 expected a map/struct, got: []
相关用法
- Elixir Access.key用法及代码示例
- Elixir Access.filter用法及代码示例
- Elixir Access.all用法及代码示例
- Elixir Access.get用法及代码示例
- Elixir Access.fetch用法及代码示例
- Elixir Access.at!用法及代码示例
- Elixir Access.at用法及代码示例
- Elixir Access.fetch!用法及代码示例
- Elixir Access.elem用法及代码示例
- Elixir Access.pop用法及代码示例
- Elixir Access.get_and_update用法及代码示例
- Elixir Access用法及代码示例
- Elixir Application.get_env用法及代码示例
- Elixir Application用法及代码示例
- Elixir Agent.get_and_update用法及代码示例
- Elixir Atom用法及代码示例
- Elixir Atom.to_string用法及代码示例
- Elixir Agent.get用法及代码示例
- Elixir Atom.to_charlist用法及代码示例
- Elixir Agent.cast用法及代码示例
- Elixir Agent.start_link用法及代码示例
- Elixir Agent.update用法及代码示例
- Elixir Agent.stop用法及代码示例
- Elixir Application.ensure_started用法及代码示例
- Elixir Agent.start用法及代码示例
注:本文由纯净天空筛选整理自elixir-lang.org大神的英文原创作品 Access.key!(key)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。