コマンドライン引数の読み取り

Haskell:
コマンドライン引数の読み取り

How to: (方法)

import System.Environment (getArgs)

-- main関数ではコマンドライン引数を取得してprintします。
main :: IO ()
main = do
  args <- getArgs
  print args

サンプル出力:

$ runhaskell args.hs arg1 arg2 arg3
["arg1","arg2","arg3"]

Deep Dive (掘り下げ)

HaskellではSystem.EnvironmentモジュールのgetArgs関数を使ってコマンドライン引数を読みます。この方法は過去数十年に渡って、多くのプログラミング言語で採用されてきました。

他にもコマンドライン引数を解析するためのライブラリ(例:optparse-applicative)があり、より複雑な引数のパターンを簡単に扱えます。

実装の詳細として、getArgsはIOモノイドの中で使われ、プログラムの実行時に一度だけ値を取得することができます。これはHaskellの純粋性を保ちつつ、外部の世界と対話する方法です。

See Also (関連情報)