前言:最近在了解F#,无意中看到一个日文的教程(http://techbank.jp/Community/blogs/gushwell/default.aspx),觉得很不错,所以希望可以和大家一起分、学习。

目前为止我们还一直避免的话题就是F#中必须注意的:变量无法再被赋值。
let x = 10
let y = 5
let x = x + y // Compile Error

一旦变量赋值以后,再次赋值就会出现错误。
F#的变量为什么要有不变性呢?
习惯了目前一些变量是可变的过程语言和面向对象语言,可能就会有变量不可变的话是否可以很好编码的疑问。
这样也就无法写i++以及i += 2之类的增量处理。
去年稍微接触了下Haskell,尽管全部变量都是不变的,但还是可以很好地编码。F#也吸收了Haskell的想法。

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