Spec-Zone.ru › Haskell 7

System.Environment

Авторские права (c) Университет Глазго 2001
Лицензия BSD-стиль (см. файл libraries/base/LICENSE)
Поддержка libraries@haskell.org
Устойчивость предварительная
Переносимость переносимая
Safe Haskell Safe
Язык Haskell2010

Описание

Разнообразная информация об окружении системы.

getArgs :: IO [Строка] Исходный код

Вычисление getArgs возвращает список аргументов командной строки программы (без имени программы).

getProgName :: IO Строка Исходный код

Вычисление getProgName возвращает имя программы, как оно было вызвано.

Однако, это сложно или невозможно реализовать на некоторых не-Unix системах, поэтому для максимальной переносимости мы возвращаем только имя файла программы, как оно было вызвано. Даже тогда есть некоторые различия между платформами: например, в Windows, программа, вызываемая как foo, вероятно, на самом деле FOO.EXE, и именно это getProgName вернет.

getExecutablePath :: IO Путь Исходный код

Возвращает абсолютный путь к текущему исполняемому файлу.

Обратите внимание, что для скриптов и интерактивных сессий это путь к интерпретатору (например, ghci).

С версии: 4.6.0.0

getEnv :: Строка -> IO Строка Исходный код

Вычисление getEnv var возвращает значение переменной окружения var. Для обратного действия пользователи POSIX могут использовать putEnv.

Это вычисление может завершиться ошибкой:

  • isDoesNotExistError если переменная окружения не существует.

lookupEnv :: Строка -> IO (Может быть Строка) Исходный код

Возвращает значение переменной окружения var, или Nothing если такого значения нет.

Для пользователей POSIX это эквивалентно getEnv.

С версии: 4.6.0.0

setEnv :: Строка -> Строка -> IO () Исходный код

setEnv name value устанавливает указанную переменную окружения в значение value.

В Windows установка переменной окружения в пустую строку удаляет эту переменную окружения из окружения. Для совместимости мы принимаем такое поведение. В частности

setEnv name ""

имеет тот же эффект, что и

unsetEnv name

Если вам не важна поддержка Windows и вы хотите установить переменную окружения в пустую строку, используйте System.Posix.Env.setEnv из пакета unix вместо этого.

Выбрасывает IOException если name является пустой строкой или содержит знак равенства.

С версии: 4.7.0.0

unsetEnv :: Строка -> IO () Исходный код

unSet name удаляет указанную переменную окружения из среды текущего процесса.

Выбрасывает IOException если name является пустой строкой или содержит знак равенства.

С версии: 4.7.0.0

withArgs :: [Строка] -> IO a -> IO a Исходный код

withArgs args act - во время выполнения действия act, имейте getArgs возвращает args.

withProgName :: Строка -> IO a -> IO a Исходный код

withProgName name act - во время выполнения действия act, имейте getProgName возвращает name.

getEnvironment :: IO [(Строка, Строка)] Исходный код

getEnvironment извлекает все окружение в виде списка пар (key,value).

Если запись в окружении не содержит символа '=', то key это вся запись, а value это пустая строка.

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/7.10.3/docs/html/libraries/base-4.8.2.0/System-Environment.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API