ドキュメントにはuse と書かれています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)
か?
あるいは、ダートカレーはできますか?