2013-11-01 87 views

回答

9

這解決了這個問題:

user> ((fn[& args] (reduce + (apply map * args))) [1 2 3] [4 5 6] [7 8 9]) 
     270 

user> (#(reduce + (apply map * %&)) [1 2 3] [4 5 6] [7 8 9]) 
     270 
+0

非常感謝Guillermo! – jeemar

2

使用apply功能

我不知道的方式做這與 #(...)語法,但這裏是你的例子 fn

((fn [& args] (reduce + (apply map * args))) [1 2 3] [4 5 6] [7 8 9]) 

您可以使用%&獲得在#(...)形式的其餘參數,導致

(#(reduce + (apply map * %&)) [1 2 3] [4 5 6] [7 8 9]) 
+0

感謝現在刪除的評論,指出'%&' – cobbal

相關問題