文档说使用,f.call.apply(arguments)
但这似乎只适用于对象方法,而不是函数。
testapply.dart:
#!/usr/bin/env dart
say(a, b, c) {
print("${a}!");
print("${b}!");
print("${c}!");
}
main() {
var args = [1, 2, 3];
say.call.apply(args);
}
痕迹:
$ dart testapply.dart
'/Users/andrew/Desktop/testapply.dart': Error: line 11 pos 2: Unresolved identifier 'Function 'say': static.'
say.call.apply(args);
^
有没有办法在(apply f args)
不使用对象的情况下做 LISP?
或者,有没有办法在对象中动态包装任意函数,以便可以使用f.call.apply(arguments)
?
或者,达特咖喱可以吗?