Haskell:
Lendo argumentos da linha de comando
Como fazer:
import System.Environment (getArgs)
main :: IO ()
main = do
args <- getArgs
putStrLn $ "Olá! Você passou os seguintes argumentos: " ++ show argsSe você salvar isso como Args.hs e rodá-lo com runhaskell Args.hs um dois três, você terá o seguinte resultado:
Olá! Você passou os seguintes argumentos: ["um", "dois", "três"]Mergulho Profundo
Historicamente, a capacidade de ler argumentos da linha de comando remonta ao início dos sistemas operacionais, permitindo que os usuários interajam diretamente com os programas. No contexto do Haskell, a biblioteca System.Environment é usada comumente, mas existem alternativas, como optparse-applicative, para uma análise mais sofisticada de argumentos.
No que diz respeito à implementação, getArgs é uma função que retorna uma lista de strings ([String]), onde cada string é um argumento passado para o programa. Cada argumento é separado por espaços, a menos que esteja entre aspas, permitindo argumentos que contêm espaços.
Veja também
- Tutorial oficial da Haskell: https://www.haskell.org/tutorial/io.html
- Documentação da System.Environment: https://hackage.haskell.org/package/base/docs/System-Environment.html
- Para uma abordagem mais avançada,
optparse-applicative: https://hackage.haskell.org/package/optparse-applicative