1

いくつかの LazySeq を 1 つのマップのコレクションに結合しようとしています。

("a" "b" "c" ...)
("x" "y" "z" ...)

の中へ

({:key1 "a" :key2 "x"} {:key1 "b" :key2 "y"} ...)

LazySeq は同じ長さであることが保証されています。これを行う機能的な方法は何ですか?

4

1 に答える 1

0

map複数の seq で動作し、それぞれから一度に 1 つの引数を受け入れます。

(def a ["a" "b" "c"])
(def b ["x" "y" "z"])

(map (fn [x y] {:key1 x :key2 y}) a b)  ; a and b could be lazy...
;=> ({:key1 "a", :key2 "x"} {:key1 "b", :key2 "y"} {:key1 "c", :key2 "z"})
于 2012-12-30T13:56:33.780 に答える