本帖最后由 LonghronShen 于 2013-6-2 00:15 编辑再来一个F#的版本……更加诡异……let add a b = a + b然后就可以写add(1)(2),返回是3……这里写成看得懂的语法是:let add a = fun b -> a + b返回一个Lambda表达式,然后自动闭包捕获上一次的a……不过,这个似乎还需要改进,还只能支持一次迭代。估计还是要封装到一个函数对象类吧……
本帖最后由 LonghronShen 于 2013-6-2 00:15 编辑
再来一个F#的版本……更加诡异……
let add a b = a + b
然后就可以写add(1)(2),返回是3……
这里写成看得懂的语法是:
let add a = fun b -> a + b
返回一个Lambda表达式,然后自动闭包捕获上一次的a……
不过,这个似乎还需要改进,还只能支持一次迭代。估计还是要封装到一个函数对象类吧……