【发布时间】:2013-04-10 11:24:21
【问题描述】:
我从 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 被忽略了吗?为什么?我在输出中没有收到任何错误。
【问题讨论】:
标签: f#