【发布时间】:2013-03-24 01:36:51
【问题描述】:
(map vector [1 2 3] [4 5])
将给予:
([1 4] [2 5])
这里 3 被丢弃。
如果我想将那些太短的序列自动填充到最大长度怎么办?
例如 如果我想得到,惯用的方式是什么
([1 4] [2 5] [3 nil])
【问题讨论】:
(map vector [1 2 3] [4 5])
将给予:
([1 4] [2 5])
这里 3 被丢弃。
如果我想将那些太短的序列自动填充到最大长度怎么办?
例如 如果我想得到,惯用的方式是什么
([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])
【讨论】: