Clojure 如何将字符串放入列表中
我想将空字符串Clojure 如何将字符串放入列表中,clojure,lisp,Clojure,Lisp,我想将空字符串“的值放入空列表中 我目前的想法是(cons”“())。有没有其他(或更好的)方法可以做到这一点?使用list: > (list "") ("") 使用列表: > (list "") ("") 或者实际上只是(“”)list是更通用的列表构造函数,因为它将计算其参数,但对于创建常量列表,可以使用quote(回想一下,'x是(quote x)的缩写) 您还应该考虑创建一个向量,而不是 [“] ] < /代码>。在Clojure中,向量通常比列表更好地存储数据。或者实际
“
的值放入空列表中
我目前的想法是(cons”“())
。有没有其他(或更好的)方法可以做到这一点?使用list
:
> (list "")
("")
使用列表
:
> (list "")
("")
或者实际上只是(“”)
list
是更通用的列表构造函数,因为它将计算其参数,但对于创建常量列表,可以使用quote
(回想一下,'x
是(quote x)
的缩写)
您还应该考虑创建一个向量,而不是<代码> [“] ] < /代码>。在Clojure中,向量通常比列表更好地存储数据。
或者实际上只是(“”)
list
是更通用的列表构造函数,因为它将计算其参数,但对于创建常量列表,可以使用quote
(回想一下,'x
是(quote x)
的缩写)
您还应该考虑创建一个向量,而不是<代码> [“] ] < /代码>。在Clojure中,向量通常比列表更适合存储数据。
除了一点关于(“”)
。如果您的代码或其他代码希望对这样或包含这样的列表结构使用破坏性操作,请注意,与(cons”“())
和(list”“)
不同,(“”)
可能不会每次返回新列表(取决于您使用的Lisp,有时甚至取决于您使用的Lisp的实现)。一般来说,避免使用类似于(“”)
的东西是一个好主意。我想这是在lisp
标记下发布的,这个建议可能是相关的,但由于他也在clojure
下发布,我想这就是OP实际使用的语言。在Clojure中没有这种行为值得关注。首先,列表上没有破坏性的操作!写(cons”“())
将是可怕的Clojure风格<代码>(列表“”)很好,可以说可读性更好,但行为相同。除了一件关于(“”)的事情。如果您的代码或其他代码希望对这样或包含这样的列表结构使用破坏性操作,请注意,与(cons”“())
和(list”“)
不同,(“”)
可能不会每次返回新列表(取决于您使用的Lisp,有时甚至取决于您使用的Lisp的实现)。一般来说,避免使用类似于(“”)
的东西是一个好主意。我想这是在lisp
标记下发布的,这个建议可能是相关的,但由于他也在clojure
下发布,我想这就是OP实际使用的语言。在Clojure中没有这种行为值得关注。首先,列表上没有破坏性的操作!写(cons”“())
将是可怕的Clojure风格<代码>(列表“”)
很好,可以说可读性更好,但行为相同。