Bookcold

导航

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;; —-^^^

[...]

posted on 2010-04-20 14:45  bookcold  阅读(142)  评论(0)    收藏  举报