Haskell:
Odczytywanie argumentów linii poleceń

Jak to zrobić:

W Haskellu, argumenty linii poleceń odczytujemy przy pomocy funkcji getArgs z modułu System.Environment. Oto jak to wygląda w praktyce:

import System.Environment (getArgs)

main :: IO ()
main = do
    args <- getArgs
    print args

A teraz przykładowe wywołanie i wynik:

$ runhaskell args.hs jeden dwa trzy
["jeden","dwa","trzy"]

Możesz też użyć funkcji getProgName, aby pobrać nazwę programu:

import System.Environment (getProgName, getArgs)

main :: IO ()
main = do
    progName <- getProgName
    args <- getArgs
    putStrLn $ "Program: " ++ progName
    putStrLn "Argumenty:"
    mapM_ putStrLn args

Przykładowy wynik:

$ runhaskell args.hs jeden dwa trzy
Program: args.hs
Argumenty:
jeden
dwa
trzy

Głębsze spojrzenie:

Historia: Argumenty z linii poleceń są używane od początków informatyki. To podstawowa metoda interakcji z programami działającymi w terminalu.

Alternatywy: Oprócz getArgs, możesz używać bibliotek takich jak optparse-applicative do bardziej zaawansowanego parsowania argumentów i flag.

Szczegóły implementacyjne: getArgs zwraca listę argumentów jako [String]. Nie martw się o typy danych — Haskell zajmie się tym. Warto jednak przetwarzać te argumenty dalej, aby sprawnie obsłużyć różne opcje programu.

Zobacz również: