Apr 25, 2013 22:12
Простейший парсер опций командной строки на Clojure выглядит как-то так:
(ns optlist.core)
(defn -main [& { role "-role"
name "-name"
threads "-p"
:or {
role ".*"
name "default" }}]
(println "Opts:" role name threads))
$> lein run -m optlist.core -p 10 -role abc
Opts: abc default 10
Позиционные аргументы тоже можно:
(defn -main [& [arg1 arg2 arg3 & rest]]
(println "Opts:" arg1 arg2 arg3 rest))
$> lein run -m optlist.core -a -b
Opts: -a -b nil nil
Что характерно, ничего никуда импортировать не надо, всё есть в самом языке. Самое прикольное, если что-то нужно быстренько и на коленке, чисто для себя, то почти всегда это за пару минут удается собрать, даже библиотек искать не нужно.
изолента,
clojure,
формула успеха