我使用slurp、read和cons从文件中加载表单,并将它们组合在一起,以递归方式将所有表单读取到一个集合中。然后希望将其传递给scriptjure的(js & forms)函数,该函数需要一个(list?),但( Cons )给我一个Cons classed-object。如何将(class (cons 1 '(2 3 4 5)转换为IPersistentList?谢谢!
发布于 2012-02-25 04:17:57
使用(apply list x)从sequence x创建list:
user=> (class (apply list (cons 1 '(2 3 4 5 6))))
clojure.lang.PersistentList或者,如果您从一个列表开始,然后在其上添加conj表单,那么您最终将得到一个列表:
user=> (class (conj (list 1 2 3) 4))
clojure.lang.PersistentList在这种情况下,不需要使用cons,因为给定一个列表,conj将返回一个列表。
https://stackoverflow.com/questions/9436986
复制相似问题