在SML中,如果我正确的话,默认情况下变量是不可变的。因此,当我们尝试重新定义变量时,>
val y = 100; val y = 0.6; y
环境将为
y
有两个条目。新条目将隐藏原始条目。效果与将原始条目中的值从100修改为0.6一样吗?
如果原始条目是在函数调用之外创建的,而新条目是在函数调用中创建的,那么当函数调用返回时,我们可以访问原始条目。
如果两个条目都是在同一“范围”中创建的,就像上面的示例一样,原始条目是否不可访问?
有效地,在SML中,它与命令式语言(例如C)是否一样?重新定义变量时,使变量在SML中不可变并创建新条目有什么意义?
谢谢。
在SML中,如果我正确的话,默认情况下变量是不可变的。因此,当我们尝试重新定义变量val y = 100时;值y = 0.6; y环境将有y的两个条目。新条目将隐藏...
与我们将原始条目中的值从100修改为0.6的效果不一样
修改kopecs的答案: