F#入门-第二章 F#基础-第九节 while循环
如果要重复执行一段表达式的话,除了for循环的方法之外,还有while循环的方法。
while循环为,当表达式1的条件成立时,重复执行表达式2。
- while循环
- while语句 := while 表达式1 do 表达式2 done
如果利用下一节中介绍的引用类型,可以编写C语言当中经常出现的如下循环。
循环显示1到10
let a = ref 0 in while !a < 10 do a := !a + 1; print_int !a done;; |
这类情况下,如果使用引用类型,会比较令人难以理解,同时也容易引起Bug。
以上这段程序,可以采取如下所示的简便写法。
F#中循环的处理
List.iter print_int [1..10] |
List.iter使用两个参数,第一个参数为带1个参数的函数,第二个参数为列表。
处理的时候,用[1..10]将1到10之间的数字创建列表,再用List.iter将列表中每个数字作为print_int函数的参数,循环调用print_int函数显示该数字。
在包括F#的所有函数型语言中,使用了许多类似iter函数的函数,用来执行对列表或数组的处理。如果用惯了这些函数,就会少用很多while之类的循环。
如果使用while,可能会造成永远不会终止的死循环,所以必须要加以注意。
死循环
while true do print_endline "never finish" done;; |

浙公网安备 33010602011771号