2014-01-14 76 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 "") 
("") 
相关问题