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å
- Haskell Documentation for System.Environment
- optparse-applicative on Hackage
- Learn You a Haskell for Great Good! - En bra resurs för nya Haskell-programmerare.
- Real World Haskell - Mer djupgående information om att bygga praktiska Haskell-applikationer.