如何在球拍中替换cons单元格中的变量值

时间:2015-02-10 21:29:32

标签: scheme racket

我想做这样的事情

(cons '(someword,string->symbol somevarname) (restoflist))

但是某些名字永远不会被它的价值取代。

我觉得这可能吗?

2 个答案:

答案 0 :(得分:1)

引用文字列表。要在运行时动态创建列表,您还可以使用quasiquote和unquote。对于您的情况,它看起来类似于以下(假设somevarname是本地或全局绑定的):

(cons `(someword ,(string->symbol somevarname)) (restoflist))

答案 1 :(得分:0)

确实如此,但是因为你引用了包含string->symbol的表达式,所以它从未被评估过。我试图展示出正确的方法来获得你想要的东西,但目前尚不清楚它是什么。

根据您的评论(并忽略逗号),您似乎想要:

(cons (list 'someword (string->symbol "somevarname")) restoflist)