我来了accros一些我不期待的行为......这是正常的吗?
Interactive Elixir (1.5.2) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> test = %{a: 0}
%{a: 0}
iex(2)> test.a
0
iex(3)> test.a - 1
-1
iex(4)> test.a -1
** (ArgumentError) argument error
:erlang.apply(%{a: 0}, :a, [-1])
嗯,解决方法非常简单。我只是想明白,为什么它会这样。
答案 0 :(得分:0)
test.a - 1
被认为是来自key =>的减量:一个
但
test.a -1
被视为
test.a(-1)
就像一个带有一个参数的方法一样,这就是它显示Argument错误的原因。 " test.a"中没有方法。这是一个论点