我对lisp很新,但我一直在玩它。我有几个问题需要澄清。下面是我定义的小宏。如何根据传入的变量调用特定的函数?
(defmacro transform (query)
'(lambda (row)
(eq (nth 1 query) (nth 0 (nth 0 row)))
)
)
我只是想知道如何指定功能在体内动态使用?说如果我想使用“+”或“ - ”功能而不是“eq”,或者甚至是我定义的另一个功能?就像我认为可以将函数的名称作为参数传递,但显然不起作用。当我修改传入的列表(查询)时,我也会得到可变的未绑定错误。
你有什么想法,为什么这应该是一个宏而不是一个函数? – 2009-09-01 11:43:02
我已经将它改回到一个函数,它似乎工作正常。 – 2009-09-01 12:12:36