F#教程:while语句


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的情况下。

  关于这点且听下回分解。


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3