Läsa in kommandoradsargument

Haskell:
Läsa in kommandoradsargument

Hur gör man:

I Haskell, använd modulen System.Environment som ger dig funktioner för att hantera kommandoradsargument. Här är ett enkelt exempel:

import System.Environment

main :: IO ()
main = do
    args <- getArgs
    putStrLn ("Hej! Du gav mig följande argument: " ++ unwords args)

Om du sparar detta i HejArgs.hs och kör det så här:

runghc HejArgs.hs glad att träffa dig

Får du output:

Hej! Du gav mig följande argument: glad att träffa dig

Djupdykning

Historiskt har kommandoradsargument varit ett sätt att interagera med många tidiga program och script. I Haskell kan du också använda paket som optparse-applicative för att skapa mer avancerade argumentparsrar med hjälp av monadiska mönster, vilket ger en kraftfull, komponerbar gränssnitt för kommandotolkbaserade applikationer. Implementationen av kommandoradsargument i Haskell är rakt på sak: getArgs hämtar en lista med String från det underliggande systemskalet, medan getProgName kan användas för att få programnamnet som används.

Se också