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 digFår du output:
Hej! Du gav mig följande argument: glad att träffa digDjupdykning
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.