我对clojure很新,语法非常粗糙。我正在尝试构造一个向量矢量。
这是我使用的函数的输出: [[:b 2 3] [:b 3 7] [:b 9 8]]
但是,我希望它做的是显示输出,如下所示: [:b 2 3] [:b 3 7] [:b 9 8]
基本上,试图摆脱那些最多的括号。这可能吗?任何帮助表示赞赏:)
答案 0 :(得分:3)
如果您只想要指定的输出,您当然可以按照这样的方式按摩:
(apply str (interpose " " [[:b 2 3] [:b 3 7] [:b 9 8]]))
;= "[:b 2 3] [:b 3 7] [:b 9 8]"
诀窍。至于解构,如果你有一个返回f
的函数[[:b 2 3] [:b 3 7] [:b 9 8]]
,你可以按如下方式使用解构:
(defn f [] ;; something presumably more complicated goes here
[[:b 2 3] [:b 3 7] [:b 9 8]])
(let [[a b c] (f)]
(println a b c))
; prints [:b 2 3] [:b 3 7] [:b 9 8]