Map 什么';根据clojure中最长的seq映射向量的惯用方法是什么?

Map 什么';根据clojure中最长的seq映射向量的惯用方法是什么?,map,vector,clojure,Map,Vector,Clojure,将提供: (map vector [1 2 3] [4 5]) 这里3被丢弃 如果我想自动将那些太短的seq填充到最大长度,该怎么办 e、 g。 如果我想得到,惯用的方法是什么 ([1 4] [2 5]) ([1 4] [2 5] [3 nil]) (defn map-all [f & colls] (lazy-seq (when (some seq colls) (cons (apply f (map first colls)) (app

将提供:

(map vector [1 2 3] [4 5])
这里3被丢弃

如果我想自动将那些太短的seq填充到最大长度,该怎么办

e、 g。 如果我想得到,惯用的方法是什么

([1 4] [2 5])
([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])