function | removed v1.9.854 | added v0.0-927 | Edit |
(read-number reader initch)
(defn read-number
[reader initch]
(loop [buffer (gstring/StringBuffer. initch)
ch (read-char reader)]
(if (or (nil? ch) (whitespace? ch) (macros ch))
(do
(unread reader ch)
(let [s (.toString buffer)]
(or (match-number s)
(reader-error reader "Invalid number format [" s "]"))))
(recur (do (.append buffer ch) buffer) (read-char reader)))))