【发布时间】:2017-09-03 14:02:46
【问题描述】:
要调用带有一些参数的函数,我们可以简单地使用(funcname arg1 arg2 ...) 或(apply funcname '(arg1 arg2 ...))。两种方式有什么区别?谢谢。
【问题讨论】:
标签: scheme
要调用带有一些参数的函数,我们可以简单地使用(funcname arg1 arg2 ...) 或(apply funcname '(arg1 arg2 ...))。两种方式有什么区别?谢谢。
【问题讨论】:
标签: scheme
不同之处在于apply 的参数以列表形式给出。因此,如果您已经有一个列表,您可以使用(apply f my-list) 调用带有列表中的参数的f。
【讨论】:
apply。这就是它存在的原因。在 Ruby 或 Python 中使用 f(*arglist) 的地方,在 Scheme 中使用 (apply f arglist)。