我是一名有用的助手,可以为您翻译文本。
我开始学习F#编程语言,其中一些代码结构让我感到困惑。例如:
我有以下代码:
我开始学习F#编程语言,其中一些代码结构让我感到困惑。例如:
我有以下代码:
let mutable s = 10
s <- 1 + s
printf "%i" s
从数学角度来看,一切都很清晰。我将 "s" 标记为可变的,并将新值赋给了 "s"。结果是 11。
让我尝试代码的其他部分:
let mutable s = 10
s = 1 + s
printf "%i" s
这段代码是可以工作的。但是我发现从数学角度来看,s = 1 + s
有点奇怪。执行的结果是10。
我的问题是,在最后一个例子中发生了什么?为什么我没有收到错误?s = 1 + s
被忽略了吗?为什么?输出中我没有收到任何错误。
fsi
中也没有收到任何警告 - 只有在使用完整的编译器时才会出现。 - John Palmer