Документация Engee

Константы

nothing

Единственный экземпляр типа Nothing, традиционно используемый, если нет значения для возврата (как в функции C void) или переменная либо поле не содержат значения.

См. также описание isnothing, something, missing.

PROGRAM_FILE

Строка, которая содержит имя скрипта, передаваемое в Julia из командной строки. Обратите внимание, что имя скрипта, полученное из включенных файлов, остается неизменным. См. также описание константы @__FILE__.

ARGS

Массив аргументов командной строки, передаваемых в Julia в виде строковых значений.

C_NULL

Константа нулевого указателя С, которая иногда используется при вызове внешнего кода.

VERSION

Объект VersionNumber, описывающий текущую используемую версию Julia. См. также раздел Литералы номеров версий.

DEPOT_PATH

Стек расположений «хранилища», где диспетчер пакетов, а также механизмы загрузки кода Julia выполняют поиск реестров, установленных пакетов, именованных сред, клонов репозиториев, кэшированных скомпилированных образов пакетов и файлов конфигурации. По умолчанию стек включает:

  1. ~/.julia, где ~ является основным расположением пользователя в системе;

  2. общий системный каталог в зависимости от конкретной архитектуры, например /usr/local/share/julia;

  3. общий системный каталог, независимый от архитектуры, например /usr/share/julia.

Таким образом, DEPOT_PATH может иметь следующий вид:

[joinpath(homedir(), ".julia"), "/usr/local/share/julia", "/usr/share/julia"]

Первая запись — «хранилище пользователя», она добавляется текущим пользователем и принадлежит ему. В пользовательском хранилище клонируются реестры, устанавливаются новые версии пакетов, создаются и обновляются именованные среды, клонируются репозитории пакетов, сохраняются только что скомпилированные файлы образов пакетов, записываются файлы журналов, по умолчанию извлекаются пакеты разработки, а также сохраняются данные глобальной конфигурации. Последующие записи в пути к хранилищу рассматриваются как доступные только для чтения и подходят для реестров, пакетов и т. д., установленных и управляемых системными администраторами.

DEPOT_PATH заполняется с учетом переменной среды JULIA_DEPOT_PATH, если она задана.

Содержимое DEPOT_PATH

Каждая запись в DEPOT_PATH представляет собой путь к каталогу, который содержит вложенные каталоги, используемые Julia для различных задач. Далее приведен обзор некоторых вложенных каталогов, которые могут находиться в хранилище:

  • artifacts: содержимое, используемое пакетами, установкой которых управляет Pkg.

  • clones: содержит полные клоны репозиториев пакетов. Поддерживается Pkg.jl и используется как кэш.

  • config: содержит конфигурацию уровня Julia, такую как startup.jl.

  • compiled: содержит предварительно скомпилированные файлы *.ji для пакетов. Поддерживается в Julia.

  • dev: каталог по умолчанию для Pkg.develop. Поддерживается Pkg.jl и пользователем.

  • environments: среды пакетов по умолчанию. Например, глобальная среда для конкретной версии Julia. Поддерживается Pkg.jl.

  • logs: содержит журналы операций Pkg и REPL. Поддерживается Pkg.jl и Julia.

  • packages: содержит пакеты, некоторые из которых явным образом установлены, а другие содержат неявные зависимости. Поддерживается Pkg.jl.

  • registries: содержит реестры пакетов. По умолчанию только General. Поддерживается Pkg.jl.

  • scratchspaces: содержимое, которое сам пакет устанавливает посредством пакета Scratch.jl. Pkg.gc() удаляет содержимое, которое, как известно, не используется.

Пакеты, которые будут сохранять содержимое, должны использовать подкаталог scratchspaces посредством Scratch.jl вместо создания новых подкаталогов в корневом каталоге хранилища.

См. также описание JULIA_DEPOT_PATH и раздел Загрузка кода.

LOAD_PATH

Массив путей для операторов using и import, которые следует считать средами проекта или каталогами пакетов при загрузке кода. Заполняется с учетом переменной среды JULIA_LOAD_PATH, если она задана; в противном случае по умолчанию имеет значение ["@", "@v#.#", "@stdlib"]. Записи, начинающиеся с @, имеют специальное значение:

  • @ относится к «текущей активной среде», начальное значение которой исходно определяется переменной среды JULIA_PROJECT или параметром командной строки --project.

  • @stdlib расширяется до абсолютного пути каталога стандартной библиотеки для установленного экземпляра Julia.

  • @name относится к именованной среде, которая хранится в хранилищах (см. JULIA_DEPOT_PATH) в подкаталоге environments. Именованные среды пользователя хранятся в ~/.julia/environments, поэтому @name будет относиться к среде в ~/.julia/environments/name, если она существует и содержит файл Project.toml. Если name содержит символы , они будут заменяться основными, второстепенными компонентами и компонентами исправления в соответствии с номером версии Julia. Например, если вы используете Julia 1.2, то @v.# расширяется до @v1.2 и будет выполнять поиск среды по этому имени, как правило, в ~/.julia/environments/v1.2.

Полностью развернутое значение LOAD_PATH, поиск которого выполняется в проектах и пакетах, можно просмотреть, вызвав функцию Base.load_path().

См. также описание констант JULIA_LOAD_PATH, JULIA_PROJECT, JULIA_DEPOT_PATH и раздел Загрузка кода.

Sys.BINDIR::String

Строка, которая содержит полный путь к каталогу, где содержится исполняемый файл julia.

Sys.CPU_THREADS::Int

Количество логических ядер ЦП, доступных в системе, то есть количество потоков, которые ЦП может выполнять одновременно. Обратите внимание, что необязательно имеется в виду количество ядер ЦП, например при наличии гиперпоточности.

Дополнительные сведения, включая количество физических ядер, см. в файлах Hwloc.jl или CpuId.jl.

Sys.WORD_SIZE::Int

Стандартный размер слова на текущем компьютере (в битах).

Sys.KERNEL::Symbol

Символ, представляющий имя операционной системы, возвращаемое uname конфигурации сборки.

Sys.ARCH::Symbol

Символ, представляющий архитектуру конфигурации сборки.

Sys.MACHINE::String

Строка, содержащая тройку сборки.

См. также описание