System.Environment — 프로그램 인자와 환경 변수

System.Environment — 프로그램 인자와 환경 변수

System.Environment은 실행 중인 프로그램의 명령줄 인자, 프로그램 이름, 환경 변수에 접근하는 기능을 제공하는 모듈이에요. 명령줄 도구를 만들 때 프로그램이 어떻게 호출됐는지와 어떤 인자를 받았는지를 알아야 하는데, 이 모듈이 그 정보를 가져오는 표준적인 방법을 제공해요.

출처: Haskell 2010 언어 리포트

본문

이 모듈이 내보내는 것들은 다음과 같아요.

module System.Environment (

    getArgs,  getProgName,  getEnv

  ) where
getArgs :: IO [String]

계산 getArgs는 프로그램의 명령줄 인자 목록을 돌려줘요(프로그램 이름은 포함되지 않아요).

getProgName :: IO String

계산 getProgName은 프로그램이 호출될 때의 이름을 돌려줘요. 하지만 일부 비-Unix OS에서는 이것을 구현하기가 어렵거나 거의 불가능해서, 최대 이식성을 위해 우리는 프로그램이 호출된 그대로의 마지막 이름(leafname)만 돌려줘요. 그조차도 플랫폼마다 차이가 있어요. 예를 들어 Windows에서는 foo로 호출된 프로그램은 아마 실제로는 FOO.EXE일 텐데, getProgName이 바로 그 값을 돌려줘요.

getEnv :: String -> IO String

더 알아보기 (Learn more)