文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Chapter3 - Control Flow

Chapter3 - Control Flow

时间:2010-09-19  来源:兴说:


F# 有相较于其他的单纯的函数式语言来说比较其他的控制流。从以下的 if ... then ... else 表达式

中你就能看出来。

在 F#中 if .. then .. else 结构可以是一个表达式,这表示他可以返回一个值。一或两个不一样的值可以从表达式

中返回,这取决于你 Boolean 表达式的值。下面我们看一个例子。


 

#light

let result =
    if System.DateTime.Now.Second % 2 = 0 then
        "heads"
    else
        "tails"

print_string result




 

F# 的类型系统要求在 if ... then ... else 表达式中必须返回相同的类型,不然编译器

将会报错。而如果你确实希望能够返回不同类型的值,你可以在 if ... then ... else 表达式中

返回 obj类型(System.Object)。以下的示例就展示了如何实现。

 


#light

let result =
    if System.DateTime.Now.Second % 2 = 0 then
        box "heads"
    else
        box false

print_any result



 

习惯于命令式编程的开发人员可能会奇怪 if ... then ... else 表达式 想返回值的时候必须有 else ,

而如果我们把 else 从表达式中移除,当当前的秒数不为偶数时,result 将什么都不是, 这对于一个

函数式语言来说是应该避免的。当然也有另一种方式来使用 if .. then 而不使用 else ,但那已经是跟

命令式编程的风格非常相似了,所以我们把它放到第四章来介绍。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载