在方案中我可以做到:
#;> (numerator 1/3)
1
#;> (denominator 1/3)
3
在 Clojure 中,我可以做类似的事情:
user=> (numerator 1/3)
1
user=> (denominator 1/3)
3
但在方案中我可以做到:
#;> (numerator 0.3)
3.0
这在 Clojure 中是不可能的:
user=> (numerator 0.3)
ClassCastException java.lang.Double cannot be cast to clojure.lang.Ratio clojure.core/numerator (core.clj:3306)
如何将 Double(或实际上任何类型的数字)转换为 clojure.lang.Ratio?
在 Scheme 中,我们inexact->exact
在 Clojure 中也有类似“double to ratio”之类的东西,但我找不到类似的东西。