2013-01-16 73 views
2

在此代碼中,dolist將x綁定到符號'foo和'bar。dolist將參數綁定到符號

(dolist (x '(foo bar)) 
    (print (symbolp x) t)) 

這是一個問題,如果我想使用foo和bar的值,比如:

(dolist (x '(foo bar)) 
    (print x t)) 

怎麼去解決呢?

+1

編譯時是否已知'foo'和'bar'的值是否與'dolist'完全無關,因爲'LIST'參數在運行時纔會被評估。當然,你可以在不同的地方寫一個破碎的宏。 – Dmitry

回答

12

x被綁定到符號foobar因爲'(foo bar)是包含符號foobar列表。如果您想要一個包含變量foobar的值的列表,您可以使用(list foo bar)