Lendo argumentos da linha de comando

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 args

Se 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