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