Почему (int 10)
не производит экземпляр типа java.lang.Integer
?Почему (int 10) производит длинный экземпляр?
; why Long here?
=> (type (int 10))
; java.lang.Long
; this one is also Long, why not java.lang.Number?
=> (type (num 10))
; java.lang.Long
=> (type (double 10))
; java.lang.Double
=> (type (long 10))
; java.lang.Long
=> (type (float 10))
; java.lang.Float
=> (type (short 10))
; java.lang.Short
=> (type (bigint 10))
; clojure.lang.BigInt
=> (type (bigdec 10))
; java.math.BigDecimal
=> (type (boolean 10))
; java.lang.Boolean
=> (type (char 10))
; java.lang.Character
=> (type (byte 10))
; java.lang.Byte
Это было исправлено в Clojure 1.5: http://dev.clojure.org/jira/browse/CLJ-820 Я тестировал его в Clojure 1.6 и (type (int 10)) дает java.lang.Integer. –