在Opa中,可以部分应用函数。但是,我想提供一个带有所有参数的函数,并返回一个不带参数的函数。例如:
function make-thunk(f, a) { function() { f(a) } }上面的代码运行良好,但它有一个问题:它只适用于只有一个参数的函数。我很好奇在Opa中是否有可能使上面的函数更加通用,这样函数就可以用于任意大小的函数。
我在Opa API,论坛,IRC,Github上找不到apply- (scheme)或call- (prolog)之类的函数的信息,所以我希望我错过了一些东西。;-) (有一些@lazy关键字的痕迹,但没有解释或文档,所以我没有保留引用,抱歉。)
为了进一步阐明/说明:如果Opa是方案,我会编写以下代码:
(define (make-thunk f . args)
(lambda () (apply f args)))发布于 2013-01-16 22:56:36
如果要向make-thunk传递任意数量的参数,则必须使用元组:
function f((a,b,c)) {
...
}
args = ("a","b","c")
make-thunk(f, args)顺便说一句,你在哪里找到提到@lazy的?
https://stackoverflow.com/questions/14344626
复制相似问题