主页 > F# >

ID #5605

F#教程:不变性

目前为止我们还一直避免的话题就是F#中必须注意的:变量无法再被赋值。

let x = 10
let y = 5
let x = x + y // Compile Error

一旦变量赋值以后,再次赋值就会出现错误。

F#的变量为什么要有不变性呢?

习惯了目前一些变量是可变的过程语言和面向对象语言,可能就会有变量不可变的话是否可以很好编码的疑问。

这样也就无法写i++以及i += 2之类的增量处理。

去年稍微接触了下Haskell,尽管全部变量都是不变的,但还是可以很好地编码。F#也吸收了 Haskell的想法。

不过,F#中有一个mutable的关键字。看来是可以同时处理不变的和可变的变量。关于这些,我想以后想去调查下。


2011-07-01 18:26
阅读:
I'm VC , Just U know Y
本站部分文章来源于互联网,版权归原作者所有。

延伸阅读:

F#教程:递归

F#教程:高阶函数

F#教程:函数

F#教程:匿名函数(Lambda)

F#教程:Record