如何获得“留在计划中”

How to get a ' to stay in scheme

抱歉,如果标题有点奇怪,但我不确定如何措辞。无论如何,我的项目是一个 object 制造商,现在我只是在格式化所有内容以便它与 eval 一起工作,我无法将此语句 (cond ((equal? message 'getx) xval)...) 翻译成我的 object 代码制造商,其中消息是传入的命令和 xval 只是一个实例变量。明明相等?和消息很简单,只需使用 'equal?'message 即可不被评估,但我如何让撇号出现?

我正在使用 Dr. Racket 中的 Pretty Big,如果它有所不同的话

澄清: 如果我 运行 (eval (list 'equal? 'message 'getx)...) 它会 运行 为 (equal? message getx)... 而我希望它是 (equal? message 'getx) 我希望它将消息与符号 'getx 而不是引用 getx

如果我没理解错,你只需要引用整个表达式:

'(cond ((equal? message 'getx) xval)...)