我想从列表中获取运算符,它将是一个过程而不是符号。计划获取运算符是一个列表中的过程
因此,例如让我说我想建立这个列表:'(- a 3)
使用cons
。
如果我要把((car '(- a 3)) 5 3)
,它应该打印出2
。但是,由于-
在列表中,因此获取列表的car
仍然是符号而不是实际的运算符。
这里的问题是我必须使用cons
构建(- a 3)
列表(并将其打印出来)。我的教授将在其前面添加car
以及5 3
,最后应打印出2
。
所以我目前有这个:(cons '- (cons 'a (cons '3 '())))
,打印出(- a 3)
。
如果我添加了car
和5 3
:((car (cons '- (cons 'a (cons '3 '())))) 5 3)
,我收到一个错误,说not a procedure
。
有人可以提供一些指导?我不知道如何继续。
您需要一个函数,给定一个符号,返回全局绑定到该符号的值。 – coredump
Scheme中是否有这样的功能?我不允许自己做。 –
报价阻止正常评估,在这里你想强制它。所以... eval – coredump