Chi*_*ron 3 functional-programming clojure
这段代码在"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])
Run Code Online (Sandbox Code Playgroud)
函数本身,我理解它 - 解构没有问题 - 但我不理解调用.
我们是否将四个论点传递给斜率?如何将矢量分配给:p1和:p2?
你正在向坡度传递四个论点,是的.所述[]的部分slope指定了参数,在其中&表示"发出声音的附加参数成为这种形式",然后指定它在寻求一种能够形成具有键的映射参数p1和p2(如果不存在给出的默认值).
| 归档时间: |
|
| 查看次数: |
529 次 |
| 最近记录: |