F#Curried add20功能

时间:2015-02-21 21:41:02

标签: f#

如果有人能指出我为什么这样做的方向,我将不胜感激。

这是我在课堂上的第一个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//

1 个答案:

答案 0 :(得分:1)

如果你定义一个add函数看起来像这样(注意你的add10函数实际上是在添加它的两个参数,而不是前一行定义的k常量): / p>

let add a b = a + b

F#编译器将报告该函数的类型为int -> int -> int。现在,您可以通过两种方式实际阅读:

  1. int -> int -> int是另一个int另一个int生成int
  2. 的函数
  3. int -> (int -> int)是一个需要int并返回int -> int的函数 也就是说,你用一个号码来称呼它。它返回一个函数,该函数接受另一个数字并返回总和。
  4. 因此,当您编写add 32 10时,您正在使用它(1)。当您编写add 10时,您将返回(2)中所述的函数。