Spec-Zone.ru › Haskell 8

System.Environment

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

Описание

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

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

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

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

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

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

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

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

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

Начиная с версии base 4.11.0.0, getExecutablePath разрешает ссылки на символы в Windows. Если исполняемый файл запускается через ссылку на символ, getExecutablePath возвращает абсолютный путь к исходному исполняемому файлу.

С версии: base-4.6.0.0

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

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

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

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

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

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

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

С версии: base-4.6.0.0

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

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

Ранние версии этой функции работали под ошибочным предположением, что установка переменной окружения в пустую строку в Windows удаляет эту переменную окружения из среды. Для обеспечения совместимости она приняла это поведение в POSIX. В частности

setEnv name ""

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

unsetEnv name

Если вам нужно устанавливать переменные окружения в пустые строки, используйте setEnv.

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

С версии: base-4.7.0.0

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

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

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

С версии: base-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/8.10.2/docs/html/libraries/base-4.14.1.0/System-Environment.html

Spec-Zone.ru

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