Идиоматический способ написать код Clojure для многократного чтения строк из консоли?

Недавно я писал небольшой CLI-скрипт, который должен был многократно считывать даты из консоли (, количество считываемых дат вычислялось и каждый раз могло быть разным ). Пример кода Ruby, чтобы дать вам представление:

dates = x.times.collect { print "Enter date: "; Date.parse(gets.chomp) }

На всякий случай я написал скрипт на Clojure и в итоге использовал довольно уродливый код с swap!и loop...recur. Мне интересно, каким будет самый чистый способ добиться желаемого эффекта в Clojure. (В Clojure есть dotimes, но он не сохраняет значения, возвращаемые при вычислении тела... как можно было бы ожидать от языка, который делает упор на чистое функциональное программирование.)

10
задан Alex Jasmin 14 July 2012 в 06:25
поделиться