2014-01-14 124 views

回答

6

還是確實只是'("")list是更一般的列表構造函數,因爲它會評估它的參數,但是爲了創建一個常量列表,您可以使用quote(回想'x(quote x)的簡寫)。

你也應該考慮創建一個向量,而不是[""]。在Clojure中,向量通常是比列表更好的存儲數據的地方。

+0

除了關於「(」「)」的一件事情。如果你的代碼或其他代碼希望在這樣的列表結構上使用破壞性操作,或者包含它,請注意,不像'(cons「())和'(list」「)'',''(」 「)'每次都不會返回一個新列表(取決於您使用的Lisp,有時甚至是您使用的Lisp的實現)。一般來說,避免使用諸如''(「」)'是個好主意。 – Drew

+0

我猜這是因爲這是在'lisp'標籤下發布的,這個建議可能是相關的,但是因爲他也發佈在'clojure'下,我想這是OP實際使用的語言。在Clojure中沒有這樣的行爲需要關注。首先,在列表上沒有破壞性操作!寫'(缺點「」())'會是可怕的Clojure風格; '(list「」)'很好,可以說可讀性更高,但表現相同。 – amalloy

4

使用list

> (list "") 
("") 
相關問題