Clojure:
Читання аргументів командного рядка
Як це зробити:
Clojure надає простий спосіб отримання аргументів командного рядка через глобальну змінну *command-line-args*
. Ось приклад:
; Запустіть з командного рядка, наприклад: clojure app.clj arg1 arg2
(defn main []
(println "Аргументи командного рядка:" *command-line-args*))
(main)
Якщо ви запустите вищезазначену програму з аргументами arg1 arg2
, то отримаєте наступний вивід:
Аргументи командного рядка: (arg1 arg2)
Поглиблений розбір:
Доступ до аргументів командного рядка є стандартною можливістю багатьох мов програмування, і Clojure не є винятком. У минулому, для цього використовувались різні бібліотеки для розбору аргументів. Зараз, Clojure дає доступ до аргументів через *command-line-args*
.
Альтернативи є. Наприклад, можна використовувати бібліотеку tools.cli
, яка дозволяє більш детально розбирати аргументи, додавати опції та флаги.
Щодо реалізації, *command-line-args*
є лінивим списком усіх аргументів, які були передані в Clojure REPL або до виконуваного файлу. Лінивість допомагає ефективно працювати з потенційно великою кількістю аргументів без необхідності обчислювати їх всі заздалегідь.
Дивись також:
- Бібліотека
tools.cli
для більш складного розбору аргументів: https://github.com/clojure/tools.cli