2012-01-30 47 views

回答

5
(mapcat (fn [x] (map #(* x %) '(1 2))) '(2 3)) 

這是簡寫:

(apply concat (map (fn [x] (map #(* x %) '(1 2))) '(2 3))) 

concat會連接在一起的集合爲一個序列。使用apply調用它可以讓您傳遞要並置的集合集合。

3

賈斯汀做我可能會在這裏使用mapcat,但在許多類似的案件for是建設集一個偉大的工具。舉例來說,我覺得這是寫你的函數一個非常清晰的方式:

repl-1=> (for [x  '(2 3) 
repl-1=*  factor '(1 2)] 
repl-1=* (* x factor)) 
(2 4 3 6) 
相關問題