摘要: F#是强类型语言,这意味着你不能使用一个不恰当的值调用一个函数,你不可以用字符串调用一个需要整数参数的函数;必须显式地进行转换。这种涉及到值的类型的语言方式就做类型系统。F#的类型系统在一般语言中并不常见,在F#里,所有的值类型,包括函数(functions)的值,通常情况下并不需要明确声明类型,编译器将根据函数的定义类型和函数被调用的返回类型推理出值的类型。如果全部没有问题,编译器将推理出所有的类型,只有当一个类型不匹配时才会报告类型错误。这个过程一般称为类型推理。如果想在程式里得到更多类型推理的信息,你可以使用-i开关使编译器显示更多信息,Visual Studio用户则可以把鼠标悬停在. 阅读全文
posted @ 2011-11-24 17:01 银河系漫游指南 阅读(477) 评论(0) 推荐(0) 编辑
摘要: F#有强大的控制流。这种方式不同于其他的函数式语言,控制流的概念非常稀少,因为本质上表达式可以代替任何命令。你可以在下面的例子中看到控制流 if … then … else … 表达式. 在F#里 if … then … else … 构造成一个表达式,这意味着它返回一个值。返回值取决于布尔表达式的真与假。下一个例子说明了这一点。#light let result = if System.DateTime.Now.Second % 2 = 0 then "heads" else "tails" print_string result if … then 阅读全文
posted @ 2011-11-24 11:35 银河系漫游指南 阅读(540) 评论(0) 推荐(0) 编辑