2016-02-26 65 views

回答

5

1/2創建Ratio並且/函數結束呼叫(clojure.lang.Numbers/divide 1 1/2)。如果你看看這個定義,它最終會打電話給(clojure.lang.Numbers$RatioOps/divide 1 1/2)。這將1L提升爲一個比率,執行比率除法,然後將2/1的結果簡化爲BigInt 2.

+2

請注意,['clojure.lang.Ratio'](http://github.com/clojure/clojure /blob/master/src/jvm/clojure/lang/Ratio.java)將'numerator'和'denominator'分別保存爲Java'Biginteger'。因此,即使可能,隨後的反演也不能簡單地歸結爲「長」。 – Thumbnail