История изменений
Исправление Nervous, (текущая версия) :
Усложним задачу: преобразовать строку в последовательность чисел, заменив цифры их значениями, а любые другие символы — их кодами ASCII.
(defn string-to-ints
"Maps digits of string `s` to themselves and other characters to their ASCII codes."
[s]
(let [zero-code (int \0)
digit (set (range 0 10))
char-to-int (comp #(or (digit (- % zero-code)) %) int)]
(map char-to-int s)))
(string-to-ints "-123.45e12")
;; => (45 1 2 3 46 4 5 101 1 2)
(string-to-ints "+123.45E-12")
;; => (43 1 2 3 46 4 5 69 45 1 2)
Исходная версия Nervous, :
Усложним задачу: заменить в указанной строке цифры их значениями, а любые другие символы — их кодами ASCII.
(defn string-to-ints
"Maps digits of string `s` to themselves and other characters to their ASCII codes."
[s]
(let [zero-code (int \0)
digit (set (range 0 10))
char-to-int (comp #(or (digit (- % zero-code)) %) int)]
(map char-to-int s)))
(string-to-ints "-123.45e12")
;; => (45 1 2 3 46 4 5 101 1 2)
(string-to-ints "+123.45E-12")
;; => (43 1 2 3 46 4 5 69 45 1 2)