我正在阅读Dave Thomas Programming Elixir的书,我对本书模式匹配部分的一些结果感到困惑.特别是,请看以下示例:[a] = [[1, 2, 3]]
我的解释是比赛应该成功,但价值a
应该是[1, 2, 3]
; 相反,它是[[1, 2, 3]]
.
有人可以帮我解释一下结果如何成为匹配运算符整个右侧的值?为什么输出的输出a = [[1, 2, 3]]
没有什么不同[a] = [[1, 2, 3]]
?
实际上它是不同的.模式匹配时
[a] = [[1, 2, 3]]
然后a
成了[1, 2, 3]
.你是对的.您看到的输出iex
就是控制台显示它的方式.如果你检查a
它的值将是[1, 2, 3]
预期的.
当你匹配
a = [[1, 2, 3]]
然后a
成了[[1, 2, 3]]