从列表中

时间:2015-06-25 06:16:51

标签: scheme

所以我试图仅将函数列表的第一个函数应用于参数列表。我注意到这会起作用:

    (apply + '(1 2))

但如果我尝试应用这样的添加功能,它就不会工作:

    (apply (car '(+ -)) '(1 2))

知道为什么吗?不是(汽车'(+ - ))返回+?实际上,这就是我在错误消息中得到的内容:

    application: not a procedure;
    expected a procedure that can be applied to arguments
    given: +
    arguments.:

我觉得这个问题的答案可能非常简单,我会觉得很愚蠢,但是我一直试图添加并取出括号一段时间,但我仍然没有得到它......请帮忙!提前谢谢!

1 个答案:

答案 0 :(得分:6)

'(+ -)是符号列表,与(list '+ '-)实际上相同。

您想要的是一系列程序:

(list + -)