程序列表不起作用? *重要的
list of procedure not working? *Important
现在正在做一项作业 (racket),遇到了这个问题。
> (define a '(even?))
> a
(even?)
> (first a)
even?
> (even? 2)
#t
> ((first a) 2)
. . application: not a procedure;
expected a procedure that can be applied to arguments
given: even?
arguments.:
为什么这不起作用?
((first a) 2) 不等于 (even?2) ??
'(even?)
等同于 (quote (even?))
,其中 returns 带有符号 even?
的列表(不是函数)。
如果您想要描述的代码正常工作,您需要让第一个定义看起来像 (define a (list even?))
,这是一个包含过程 even?
的列表。
现在正在做一项作业 (racket),遇到了这个问题。
> (define a '(even?))
> a
(even?)
> (first a)
even?
> (even? 2)
#t
> ((first a) 2)
. . application: not a procedure;
expected a procedure that can be applied to arguments
given: even?
arguments.:
为什么这不起作用? ((first a) 2) 不等于 (even?2) ??
'(even?)
等同于 (quote (even?))
,其中 returns 带有符号 even?
的列表(不是函数)。
如果您想要描述的代码正常工作,您需要让第一个定义看起来像 (define a (list even?))
,这是一个包含过程 even?
的列表。