我是 Clojure 的新手,找不到整数的等价物?在 Chez 方案 8.4 中,主要针对如下测试用例:
(整数?39.0)=> #t
到目前为止我提出的功能是:
(defn actual-integer? [x] (or (= 0.0 (- x (int x))) (integer? x)))
当 x 是任意数字类型时它是否有效或者是否有更好的解决方案?
谢谢。
好吧,严格来说39.0
不是整数文字,因为它.0
在末尾有部分。该过程的简单实现是:
(defn actual-integer? [x] (== (int x) x))
请注意,==
运算符:
如果 nums 都具有等效值(与类型无关),则返回非 nil,否则返回 false