Bus errorとSegmentation faultに困ったら見るブログ

物理の研究者による日々の研究生活のメモ書きです ( python/emacs/html/Japascript/シェルスクリプト/TeX/Mac/C言語/Linux/git/tmux/R/ポケモンGO)

【Haskell】コマンドライン引数(getArg)を使ってみる

(過去記事のコピペなので内容が古いかも知れません)

Haskellでもコマンドラインで実行ファイルに引数を付けてみたくなった。
実行時に、引数を取って、それをあれこれ処理したい。

import System.Environment -- getArgs
inputFile <- getArgs

でおk

ghc 7.4からimportすべきmoduleがSystemではなく、System.Environmentになったらしいので注意
最初Systemにしていてエラーが出て気づいた・・・

参考

usagi.hatenablog.jp




ちなみに上記の例では、inputFileに["hoge"]のような文字列がリストに入ったかたちになる。
これでは少し手を加える必要があるので、文字列として使いたい場合は、

import System.Environment -- getArgs
[inputFile] <- getArgs

としてもよい