【发布时间】:2012-06-24 19:42:14
【问题描述】:
我知道 F# 中的变量默认情况下是不可变的。 但是,例如在 F# 交互中:
> let x = 4;;
val x : int = 4
> let x = 5;;
val x : int = 5
> x;;
val it : int = 5
>
所以,我将 4 分配给 x,然后将 5 分配给 x,它正在改变。这是正确的吗?它应该给出一些错误或警告吗?或者我只是不明白它是如何工作的?
【问题讨论】:
-
stackoverflow.com/questions/2844047/… 的可能重复项。那里的答案解释了变量绑定和变量赋值之间的区别。
-
@Alex:您可能会发现this question 的答案很有帮助。
-
问题类似,但不是重复的。
标签: f# immutability shadowing