从列表中“汽车”时,方案功能不起作用
Scheme function doesn't work when 'car'ed from a list
所以我试图仅将函数列表的第一个函数应用于参数列表。我注意到这会起作用:
(apply + '(1 2))
但是如果我尝试像这样应用添加函数,它将不起作用:
(apply (car '(+ -)) '(1 2))
知道为什么吗? (car '(+ -)) return 不是 + 吗?实际上这就是我在错误消息中得到的:
application: not a procedure;
expected a procedure that can be applied to arguments
given: +
arguments.:
我觉得这个问题的答案可能非常简单,我会觉得自己很愚蠢,但我已经尝试添加和删除括号有一段时间了,但我还是不明白...请帮忙!提前致谢!
'(+ -)
是符号列表,实际上与 (list '+ '-)
.
相同
你要的是程序列表:
(list + -)
所以我试图仅将函数列表的第一个函数应用于参数列表。我注意到这会起作用:
(apply + '(1 2))
但是如果我尝试像这样应用添加函数,它将不起作用:
(apply (car '(+ -)) '(1 2))
知道为什么吗? (car '(+ -)) return 不是 + 吗?实际上这就是我在错误消息中得到的:
application: not a procedure;
expected a procedure that can be applied to arguments
given: +
arguments.:
我觉得这个问题的答案可能非常简单,我会觉得自己很愚蠢,但我已经尝试添加和删除括号有一段时间了,但我还是不明白...请帮忙!提前致谢!
'(+ -)
是符号列表,实际上与 (list '+ '-)
.
你要的是程序列表:
(list + -)