Недавно я писал небольшой CLI-скрипт, который должен был многократно считывать даты из консоли (, количество считываемых дат вычислялось и каждый раз могло быть разным ). Пример кода Ruby, чтобы дать вам представление:
dates = x.times.collect { print "Enter date: "; Date.parse(gets.chomp) }
На всякий случай я написал скрипт на Clojure и в итоге использовал довольно уродливый код с swap!
и loop...recur
. Мне интересно, каким будет самый чистый способ добиться желаемого эффекта в Clojure. (В Clojure есть dotimes
, но он не сохраняет значения, возвращаемые при вычислении тела... как можно было бы ожидать от языка, который делает упор на чистое функциональное программирование.)