【发布时间】:2015-05-02 11:03:39
【问题描述】:
我对函数式编程有点陌生,虽然我对 F# 有点熟悉,但我仍在学习它所有奇怪的工作方式。
//I love my Rice and Curry'd functions
let add x =
let subFunction y =
x + y
subFunction
//explicit parameter
let add1 y = add 1 y
//implicit parameter
let add10 = add 10
//calling it with the parameter it doesn't show that it takes
let twenty = add10 10
所以这里 add10 具有隐式参数,因为它调用一个函数,该函数返回一个带参数的函数。为什么我可以这样声明它而不是我声明 add1 的方式被接受?
从它的声明来看,它确实具有欺骗性,人们会认为它只是一个 int。
【问题讨论】:
标签: f# functional-programming currying