为什么 varx 在此代码中不可变?
y = { g = 'a' }
z = { g = 1 }
varx = foo y
varx = foo z
有人知道吗? 谢谢。
我猜这段代码是在 Elm REPL 中执行的。 不可变变量的行为略有不同。从一开始的榆树书:
https://elmprogramming.com/immutability.html
repl 的工作方式略有不同。每当我们将不同的值重新分配给现有常量时,repl 实质上会将常量重新绑定到新值。重新绑定过程会杀死常量并使其恢复生机,就好像该常量以前从未指向任何其他值一样。
当使用 Elm make 以普通方式编译 Elm 代码时,此代码会导致错误。