1
我想將空字符串""
的值放入空列表中。我現在有想法(cons "" '())
。有沒有其他(或更好的)方法來做到這一點?如何將字符串放入列表
我想將空字符串""
的值放入空列表中。我現在有想法(cons "" '())
。有沒有其他(或更好的)方法來做到這一點?如何將字符串放入列表
還是確實只是'("")
。 list
是更一般的列表構造函數,因爲它會評估它的參數,但是爲了創建一個常量列表,您可以使用quote
(回想'x
是(quote x)
的簡寫)。
你也應該考慮創建一個向量,而不是[""]
。在Clojure中,向量通常是比列表更好的存儲數據的地方。
使用list
:
> (list "")
("")
除了關於「(」「)」的一件事情。如果你的代碼或其他代碼希望在這樣的列表結構上使用破壞性操作,或者包含它,請注意,不像'(cons「())和'(list」「)'',''(」 「)'每次都不會返回一個新列表(取決於您使用的Lisp,有時甚至是您使用的Lisp的實現)。一般來說,避免使用諸如''(「」)'是個好主意。 – Drew
我猜這是因爲這是在'lisp'標籤下發布的,這個建議可能是相關的,但是因爲他也發佈在'clojure'下,我想這是OP實際使用的語言。在Clojure中沒有這樣的行爲需要關注。首先,在列表上沒有破壞性操作!寫'(缺點「」())'會是可怕的Clojure風格; '(list「」)'很好,可以說可讀性更高,但表現相同。 – amalloy