1
두 개의 LazySeq을 하나의 맵 콜렉션에 결합하려고합니다.LazySeq를 맵 모음으로 결합하기
("a" "b" "c" ...)
("x" "y" "z" ...)
({:key1 "a" :key2 "x"} {:key1 "b" :key2 "y"} ...)
에 LazySeqs가 같은 길이의 것을 보장한다. 이것을하기위한 기능적인 방법은 무엇입니까?
두 개의 LazySeq을 하나의 맵 콜렉션에 결합하려고합니다.LazySeq를 맵 모음으로 결합하기
("a" "b" "c" ...)
("x" "y" "z" ...)
({:key1 "a" :key2 "x"} {:key1 "b" :key2 "y"} ...)
에 LazySeqs가 같은 길이의 것을 보장한다. 이것을하기위한 기능적인 방법은 무엇입니까?
map
각각에서 한 번에 하나 개의 인수를 받아, 여러 seqs에서 작동합니다 :
(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"})