在Clojure integer中实现?计划中

在Clojure integer中实现?计划中,clojure,scheme,Clojure,Scheme,我是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] (==

我是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))
请注意:

如果num都具有等效值(独立于类型),则返回非nil,否则返回false


我用Clojure 1.5.1测试了这个版本,下面返回false:(实际整数?3.0)