elixir 表单 map

键-值对

iex(13)> map = %{:a => 1, 2 => :b}
%{2 => :b, :a => 1}
iex(14)> map[:a]
1
iex(15)> map[2]
:b

重复键 保留最后一个

iex(18)> %{:a => 1, :a => 2}
%{a: 2}

表单中每一个关键字都为原子 可以用关键字语法

iex(19)> map = %{a: 1, b: 2}
%{a: 1, b: 2}

表单模式匹配

iex(21)> map = %{a: 1, b: 2}
%{a: 1, b: 2}
iex(22)> %{:a => a} = map
%{a: 1, b: 2}
iex(23)> a
1

表单更新 和 访问原子类的键

iex(24)> map.a
1
    
iex(25)> %{map | a: 3}
%{a: 3, b: 2}

注意空格 否则报错

iex(25)> %{map | a:3}
** (SyntaxError) iex:25: keyword argument must be followed by space after: a:

原文地址:https://www.cnblogs.com/jasonduan/p/4346754.html