Clojure:
Läsa in kommandoradsargument
Hur gör man:
; För att starta, anta att du sparar detta i en fil som heter `cli-args.clj`
; Använd `*command-line-args*` för att fånga argumenten som en lista
(def args *command-line-args*)
; Exempel för att skriva ut alla argument
(doseq [arg args]
(println arg))
; Kör programmet: `clojure cli-args.clj Hej Värld!`
; Förväntad utskrift:
; Hej
; Värld!
Fördjupning
Kommandoradsargument har varit en grundsten i program sedan de tidigaste dagarna av datorer. I Clojure, som i många Lisp-dialekter, ger den globala variabeln *command-line-args*
en enkel väg till argumenten.
Alternativ till *command-line-args*
inkluderar att använda bibliotek som tools.cli
, som tillhandahåller mer avancerad funktionalitet för argumenttolkning, såsom flaggor och optionsparsing.
Implementationen är plattformsoberoende men beror på Java Virtual Machine (JVM), eftersom Clojure är ett JVM-språk. Kommandoradsargumenten passeras därmed på samma sätt som de skulle till en Java-applikation.
Se även
- Clojure’s
*command-line-args*
dokumentation - tools.cli GitHub-sida, för mer avancerad argumenttolkning
- Clojure - Få hjälp och lära dig mer