当前位置:首页 > 开发教程 >

F#教程: if语句

时间:2013-04-24 17:07 来源:网络整理 作者:采集侠 收藏

上回我们利用for进行了循环处理。这次我们学习if语句。简单实例如下: @ itxyz.net #light let add x y = x + y if add 2 3 = 5 then printfn "2 + 3 = 5" if add 2 3 = 6 then printfn "2 + 3 = 6" else printfn "2 + 3 != 6" @ itxyz.net 比较的时候仅仅用

上回我们利用for进行了循环处理。这次我们学习if语句。简单实例如下:

@ itxyz.net

#light
let add x y = x + y 
if add 2 3 = 5 then printfn "2 + 3 = 5"
if add 2 3 = 6 then printfn "2 + 3 = 6" else printfn "2 + 3 != 6"

@ itxyz.net

  比较的时候仅仅用单个=,而不是通常习惯的==。除此之外,应该都是很普遍的。下一个例子是:

@ itxyz.net

let even = if 10 % 2 = 0 then true else false 
printfn "%A" even @ itxyz.net

  这里需要注意的是if语句带有值。动作时感觉同C#的三目运算符很类似。 @ itxyz.net

  本例中,if语句的值作为even变量的初始值。带有值的if语句不能这样写: @ itxyz.net

  let ten = if add a b < 10 then 10 @ itxyz.net

  原因是:else分支没有值,是unit类型,这样就和then分支的类型不一致,所以会有编译错误。 @ itxyz.net

  当然也可以使用else if。

@ itxyz.net

let lang = "VB" 
if lang = "C#" then 
    printfn "This is C#" 
else if lang = "F#" then 
    printfn "This is F#" 
else 
    printfn "Other" @ itxyz.net

  顺便说下,elif关键字可以用来替代 else if使用。

@ itxyz.net

if lang = "C#" then 
    printfn "This is C#" 
elif lang = "F#" then 
    printfn "This is F#" 
else 
    printfn "Other" @ itxyz.net

  还可以使用&&和||: @ itxyz.net

let aa = 1 
let bb = 2 
if aa = 1 && bb = 2 then printfn "Both are true" 
if aa = 2 || bb = 2 then printfn "Either is true"
@ itxyz.net

本文作者:未知


开发教程阅读排行

最新文章