11
(map vector [1 2 3] [4 5])
が得られます:ここではclojureで最も長いseqに従ってベクトルをマップする慣用方法は何ですか?
([1 4] [2 5])
3は破棄されます。
長すぎる短いseqを自動的に最大長に埋めたい場合はどうすればよいですか?
私は
([1 4] [2 5] [3 nil])
(map vector [1 2 3] [4 5])
が得られます:ここではclojureで最も長いseqに従ってベクトルをマップする慣用方法は何ですか?
([1 4] [2 5])
3は破棄されます。
長すぎる短いseqを自動的に最大長に埋めたい場合はどうすればよいですか?
私は
([1 4] [2 5] [3 nil])
(defn map-all [f & colls]
(lazy-seq
(when (some seq colls)
(cons (apply f (map first colls))
(apply map-all f (map rest colls))))))
(map-all vector [1 2 3] [4 5])
;=> ([1 4] [2 5] [3 nil])
を取得したい場合、これは本当にエレガントな慣用的な方法は何ですか。 –