F#入门–Fundamentals
函数
在F#中,定义函数和定义一个变量类似,只不过跟在函数名后面是函数的参数。下面定义了一个带一个整数参数的square函数,返回square:
> let square x=x*x;;
val square : int -> int
和C#不同,F#没有return关键字。因此在定义一个函数时,函数的最后一个表达式用来评估函数的返回。上图的int–>int,可以理解为“一个函数带了一个整数参数返回一个整数值”。还可以更复杂一点:
> let add x y=x+y;;
val add : int -> int -> int
上面代码的意思是:“一个函数带一个整型参数,这个参数返回一个函数,这个函数带一个参数并且返回一个整数。”(a function taking an integer, which returns a function which takes an integer and returns an integer.)
类型推断(Type Inference)由于F#是静态类型的语言,因此,以浮点数位参数调用上面的add方法,会提示编译错误:
> add 1.0 2.0;;
add 1.0 2.0;; —-^^^
[...]
浙公网安备 33010602011771号