如何获得一个'留在计划中

时间:2016-03-31 22:52:24

标签: scheme racket

很抱歉,如果标题有点奇怪,但我不确定如何表达它。无论如何我的项目是一个对象制造者,现在我只是格式化所有内容,因此它与eval一起工作,我无法将此语句(cond ((equal? message 'getx) xval)...)转换为我的目标代码生成器,其中message是传入的命令,xval只是一个实例变量。显然是平等的?只需使用'equal?'message就可以轻松获取消息,以便不进行评估,但如何让撇号显示?

如果有所作为,我会在Dr. Racket中使用Pretty Big

澄清: 如果我运行(eval (list 'equal? 'message 'getx)...)它将以(equal? message getx)...运行,而我希望它为(equal? message 'getx)我希望它将消息与符号'getx进行比较而不是参考getx

1 个答案:

答案 0 :(得分:3)

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

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