Haskell-環境変数の値を取得する



環境変数の値を取得する

環境変数の値を取得するために、System.Environmentモジュールを利用します。


環境変数の名前から値を取得する。

getEnv関数の引数に環境変数名を渡すと、環境変数の値を取得できます。

$ cat envvar.hs 
#!/usr/bin/env runghc

import System.Environment

main = do
        buff <- getEnv "LANG"
        putStrLn buff

$ ./envvar.hs 
ja_JP.UTF-8

環境変数一覧を取得する。

getEnvironment関数で取得できます。

取得したデータはIO String型であり、環境変数名と値がタプルで構成されます。

$ cat envvar.hs 
#!/usr/bin/env runghc

import System.Environment
main = getEnvironment

$ ./envvar.hs 
[("TERM_PROGRAM","iTerm.app"),("TERM","xterm-256color"),
("SHELL","/bin/bash"),("LC_ALL","ja_JP.UTF-8"),("LANG","ja_JP.UTF-8"), 
  :

環境変数の名前のみを一覧で取得する。

getEnvironment関数で取得したタプルデータから、環境変数名の要素をリストに変換します。

#!/usr/bin/env runghc

import System.Environment

getEnvironmentNames :: IO [String]
getEnvironmentNames = getEnvironment >>= mapM (return . fst)

main = getEnvironmentNames


関連ページ



スポンサード リンク