【发布时间】:2011-04-12 14:26:42
【问题描述】:
这段代码在“The Joy of Clojure”中讨论 Clojure 中的命名参数:
(defn slope [& {:keys [p1 p2] :or {p1 [0 0] p2 [1 1]}}]
(float (/ (- (p2 1) (p1 1))
(- (p2 0) (p1 0)))))
(slope :p1 [4 15] :p2 [3 21])
函数本身,我理解它-解构没问题-但我不理解调用。
我们是否将四个参数传递给斜率?向量是如何分配给 :p1 和 :p2 的?
【问题讨论】:
标签: functional-programming clojure