2016-07-08 15 views
0

にそれを連結する私は2つのキーを持つマップのリストを持っている:パスと:サイズ方法はClojureでのマップのリストを反復処理し、文字列

listOfMaps ({:path "a " :size "1 "}{{:path "b " :size " 2"}...) 

それを反復し、そのパスを連結する方法と、文字列にサイズがループを通して移入

str "initial" "a" "1" "b" "2" .... "end" 

すなわちパスとサイズが文字列間の「初期」であると

の「終了」べきである

の間になるように

答えて

0

多分それは重いですが、私はそれが面白い

(defn str-values [data] 
    (as-> data d 
     (map vec d) 
     (flatten d) 
     (remove keyword? d) 
     (concat ["initial"] d ["end"]) 
     (apply str d))) 

出力

"initiala1b2end" 

た何をしたいということですか?

EDIT OlegTheCat

によって 修正
(defn str-values [data] 
    (as-> data d 
     (map (juxt :path :size) d) 
     (flatten d) 
     (remove keyword? d) 
     (concat ["initial"] d ["end"]) 
     (apply str d))) 
+0

'(VEC Dをマップ)' - これは間違っています。マップキーの順序に頼ることはできません。 – OlegTheCat

+1

代わりに '(map(juxt:path:size)d)'を使うと仮定します。 – OlegTheCat

+0

はい私はそれを忘れました^^ –

関連する問題