当前位置:  开发笔记 > 编程语言 > 正文

为什么clojure允许使用lessthan(<)或大于(>)运算符/函数的单个参数

如何解决《为什么clojure允许使用lessthan(<)或大于(>)运算符/函数的单个参数》经验,为你挑选了1个好方法。

为什么clojure允许使用lessthan(<)或大于(>)运算符/函数的单个参数?我想知道为什么它只是返回'true'而不是强迫至少2个参数?

资源:

(defn >
  "Returns non-nil if nums are in monotonically decreasing order,
  otherwise false."
  {:inline (fn [x y] `(. clojure.lang.Numbers (gt ~x ~y)))
   :inline-arities #{2}
   :added "1.0"}
  ([x] true)
  ([x y] (. clojure.lang.Numbers (gt x y)))
  ([x y & more]
   (if (> x y)
     (if (next more)
       (recur y (first more) (next more))
       (> y (first more)))
     false)))

Mark Fisher.. 7

如果你认为"单调递减"与"第一个之后的任何值大于前一个(我们将其拒绝为单调递减系列)"相同,那么两者的一个参数>(<如果你说增加/少于)履行这个定义.



1> Mark Fisher..:

如果你认为"单调递减"与"第一个之后的任何值大于前一个(我们将其拒绝为单调递减系列)"相同,那么两者的一个参数>(<如果你说增加/少于)履行这个定义.

推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有