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

F#里也有while语句。接下来我们就试着使用while语句写代码。
《不变性》一文中有人评论说可以适用ref,我们就试着使用下。
while循环的作用域通过缩进表示。
let num = ref 0
while !num < 10 do
        num := !num + 1
        printfn "%d" !num

ref是表示引用的关键字。把它想象成C语言的指针就好了。num是指针变量,保持了数值0的引用。取值时候使用!操作符。再赋值的时候使用:=。这点和Pascal和类似。
上述代码就是顺序表示1到10的数。不过可读性很差。我想可能在F#中会很少使用while循环吧。
for语句重写的相同功能的代码如下:
for num = 1 to 10 do
        printfn "%d" num

如下的代码也OK:
for num in 1..10 do
        printfn "%d" num

for语句很流程,使用时候这点是很重要的。
不过如果要写求解从1到10的和的代码,for语句就不行了。当然,这是在不使用ref或者mutable的情况下。

关于这点且听下回分解。