4

私はclojureを初めて使用し、構文はかなりラフです。ベクトルのベクトルを分解しようとしています。

これは私が使用する関数からの出力です:[[:b 2 3] [:b 3 7] [:b 9 8]]

しかし、私がやりたいのは、次のように出力を表示することです。[:b 2 3] [:b 3 7] [:b 9 8]

基本的に、それらの最も外側のブラケットを取り除くことを試みます。これは可能ですか?どんな助けでも大歓迎です:)

4

1 に答える 1

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]
于 2012-10-18T02:51:53.193 に答える