如果有人能指出我为什么这样做的方向,我将不胜感激。
这是我在课堂上的第一个f#实验室。
当我没有设置参数时,add20如何工作(问题2C2)。
////function that adds 10 to it
////Problem 2C1 ///
let k = 10
let add10 z k = z + k
////End Problem 2C1///
////Problem 2C2 ///
let z = 20
let add20 = add10 z
////End Problem 2C2//
答案 0 :(得分:1)
如果你定义一个add
函数看起来像这样(注意你的add10
函数实际上是在添加它的两个参数,而不是前一行定义的k
常量): / p>
let add a b = a + b
F#编译器将报告该函数的类型为int -> int -> int
。现在,您可以通过两种方式实际阅读:
int -> int -> int
是另一个int
另一个int
生成int
int -> (int -> int)
是一个需要int
并返回int -> int
的函数
也就是说,你用一个号码来称呼它。它返回一个函数,该函数接受另一个数字并返回总和。因此,当您编写add 32 10
时,您正在使用它(1)。当您编写add 10
时,您将返回(2)中所述的函数。