Map Clojure地图2元素代码高尔夫
我有: (地图(fn[k v][k v]) lst1 lst2) 现在,似乎应该有一个更短的方法来写这个。我怎样才能把它缩短Map Clojure地图2元素代码高尔夫,map,clojure,Map,Clojure,我有: (地图(fn[k v][k v]) lst1 lst2) 现在,似乎应该有一个更短的方法来写这个。我怎样才能把它缩短 (map vector lst1 lst2) (拥有为任意数量的列表工作的额外奖金)lol;事后看来太明显了——这就是clojure不需要haskell的zip的原因吗?@user1311390,是的,我想是的,但严格来说haskell也不需要zip,因为zip==zipWith(,)。如果您希望能够在Clojure中使用zip,您可以很容易地定义它:(defn-zip
(map vector lst1 lst2)
(拥有为任意数量的列表工作的额外奖金)lol;事后看来太明显了——这就是clojure不需要haskell的zip的原因吗?@user1311390,是的,我想是的,但严格来说haskell也不需要
zip
,因为zip==zipWith(,)
。如果您希望能够在Clojure中使用zip
,您可以很容易地定义它:(defn-zip[&args](apply(partial-map-vector)args))
。Wat,为什么会涉及partial
?这相当于(应用映射向量args)
@amalloy,是的,这也有效。。。我把Haskell翻译成Clojure。