【发布时间】:2012-10-30 22:12:28
【问题描述】:
这些功能完全一样吗?也就是说,第一种和第二种语法只是最后一种语法的方便简写吗?还是有一些理论上或实践上的区别,如果有,是什么?
let f1 a b = a + b
let f2 a = (fun b -> a + b)
let f3 = (fun a -> (fun b -> a + b) )
它们在我看来是一样的,例如,f1 5、f2 5 和 f3 5 似乎返回相同的值。只是检查我没有在这里做出无效的假设。换句话说,我希望得到一个基于知识的答案,而不是说“是的,我相信它们是一样的”。
【问题讨论】:
-
检查my answer here,可以帮助您了解差异
-
我扩充了问题以包含答案中的第三种情况。