diff options
author | Rich Hickey <richhickey@gmail.com> | 2007-12-17 13:06:29 +0000 |
---|---|---|
committer | Rich Hickey <richhickey@gmail.com> | 2007-12-17 13:06:29 +0000 |
commit | 7e0466d0699b23a6da4557597d3489eb9c54a36b (patch) | |
tree | 77663c9ae62853fa94f7a78ba6ed2d6804d7bac2 /src | |
parent | 22dbda1a44ee9c4f0492417b5b5b797c9e3f1708 (diff) |
made int coerce Characters
Diffstat (limited to 'src')
-rw-r--r-- | src/boot.clj | 4 | ||||
-rw-r--r-- | src/jvm/clojure/lang/RT.java | 4 |
2 files changed, 5 insertions, 3 deletions
diff --git a/src/boot.clj b/src/boot.clj index 9a6f2002..3f9a27bd 100644 --- a/src/boot.clj +++ b/src/boot.clj @@ -782,8 +782,8 @@ ret#)) -(defn int [#^Number x] - (. x (intValue))) +(defn int [x] + (. clojure.lang.RT (intCast x))) (defn long [#^Number x] (. x (longValue))) diff --git a/src/jvm/clojure/lang/RT.java b/src/jvm/clojure/lang/RT.java index e657459d..1b63f7af 100644 --- a/src/jvm/clojure/lang/RT.java +++ b/src/jvm/clojure/lang/RT.java @@ -491,7 +491,9 @@ static public short shortCast(Object x){ } static public int intCast(Object x){ - return ((Number) x).intValue(); + if(x instanceof Number) + return ((Number) x).intValue(); + return ((Character) x).charValue(); } static public long longCast(Object x){ |