В следующем коде Clojure (1.2) выводит неправильное сообщение:
(try
(let [value "1,a"]
(map #(Integer/parseInt %) (.split value ",")))
(catch NumberFormatException _ (println "illegal argument")))
] Это должно напечатать «недопустимый аргумент», но вместо этого будет напечатано (1 #
.
Что я делаю не так?
Это из-за ленивой последовательности, возвращаемой map
? Как это должно быть написано?