Elixir 为什么是长生不老药';s nil实现访问行为?
正如长生不老药所说: …访问透明地忽略零值: 对我来说,这似乎很容易出错。我宁愿看到Elixir 为什么是长生不老药';s nil实现访问行为?,elixir,Elixir,正如长生不老药所说: …访问透明地忽略零值: 对我来说,这似乎很容易出错。我宁愿看到nil[key]失败,也不愿返回nil 我很确定语言开发人员选择走这条路有很好的理由。这是什么原因 nil不实现Access行为(nil是atom FWIW。) 发生的情况是:Access.fetch(nil,无论什么)返回:error和get作为第三个参数传递给Access.get/3 “为什么”这个问题最好向José提出,我唯一能想到的是:如果是深层嵌套结构,这种行为会简化代码 此外,这是第一级地图访问的默
nil[key]
失败,也不愿返回nil
我很确定语言开发人员选择走这条路有很好的理由。这是什么原因
nil
不实现Access
行为(nil
是atom FWIW。)
发生的情况是:Access.fetch(nil,无论什么)
返回:error
和get
作为第三个参数传递给Access.get/3
“为什么”这个问题最好向José提出,我唯一能想到的是:如果是深层嵌套结构,这种行为会简化代码
此外,这是第一级地图访问的默认行为:
iex> %{a: 42}[:b]
nil
iex> %{a: 42}[:b]
nil