相关疑难解决方法(0)

关键字列表有什么好处?

在灵丹妙药中我们有地图:

> map = %{:a => "one", :b => "two"} # = %{a: "one", b: "two"}
> map.a                             # = "one"
> map[:a]                           # = "one"
Run Code Online (Sandbox Code Playgroud)

我们还有关键字列表:

> kl = [a: "one", b: "two"]       # = [a: "one", b: "two"]
> kl2 = [{:a, "one"},{:b, "two"}] # = [a: "one", b: "two"]
> kl == kl2                       # = true
> kl[:a]                          # = "one"
> kl.a                            # = ** (ArgumentError)
Run Code Online (Sandbox Code Playgroud)

两个为什么?

句法?是因为关键字列表具有更灵活的语法,允许它们被定义为没有卷曲,甚至没有括号作为函数调用的最后一个参数?那为什么不给这个语法糖吗?

重复密钥?是因为关键字列表可以有重复的键吗?为什么要同时使用Map样式访问和重复键?

性能?是因为关键字列表有更好的表现吗?那为什么要有地图?并且不应该通过键查找成员比使用元组列表更高效吗?

JS Array和Ruby Hash一样外观? …

elixir

101
推荐指数
2
解决办法
8913
查看次数

标签 统计

elixir ×1