为什么变量不可变

  • 本文关键字:不可变 变量 elm
  • 更新时间 :
  • 英文 :


为什么 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 代码时,此代码会导致错误。

最新更新