Документация 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() удаляет содержимое, которое, как известно, не используется.

Note Пакеты, которые будут сохранять содержимое, должны использовать подкаталог 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

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

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