Clojure中的数字是否会下降?

Dav*_* J. 17 clojure

有没有比以下更好的方法:

(defn in-interval?
  "Returns a predicate that tests if its argument falls in
  the inclusive interval [a, b]."
  [a b]
  (fn [x] (and (>= x a) (<= x b))))
Run Code Online (Sandbox Code Playgroud)

正在使用:

((in-interval? 5 8) 5.5) ; true
((in-interval? 5 8) 9)   ; false
Run Code Online (Sandbox Code Playgroud)

我不想使用range,例如,因为它构造了一个懒惰的序列.

Bla*_*sad 37

有没有比以下更好的方法:

是的.

(<= 5 8 8.5)
Run Code Online (Sandbox Code Playgroud)

它适用于任意数量的参数,并检查它们是否已订购.有3个参数,这就是你要找的东西.

  • 另外值得注意的是,您可以将比较运算符的可变版本读作"升序","降序","严格升序"和"严格降序". (3认同)
  • Clojure继续让我感到惊讶的是,所有方式的工作方式都是有意义的. (2认同)