Constants
Core.nothing
— Constantничего
Синглтон экземпляр типа Nothing
, используемый по соглашению, когда нет значения для возврата (как в функции C void
) или когда переменная или поле не содержит значения.
Base.PROGRAM_FILE
— ConstantPROGRAM_FILE
Строка, содержащая имя скрипта, переданное Julia из командной строки. Обратите внимание, что имя скрипта остается неизменным из включенных файлов. В качестве альтернативы смотрите @__FILE__
.
Base.ARGS
— ConstantARGS
Массив аргументов командной строки, переданных в Julia, в виде строк.
Base.C_NULL
— ConstantC_NULL
Константа нулевого указателя C, иногда используемая при вызове внешнего кода.
Base.VERSION
— ConstantVERSION
Объект VersionNumber
, описывающий, какая версия Julia используется. См. также Литералы номеров версий.
Base.DEPOT_PATH
— ConstantDEPOT_PATH
Стек "депо" местоположений, где менеджер пакетов, а также механизмы загрузки кода Julia, ищут реестры пакетов, установленные пакеты, именованные окружения, клонированные репозитории, кэшированные скомпилированные образы пакетов и файлы конфигурации. По умолчанию он включает:
~/.julia
, где~
— это домашний каталог пользователя, соответствующий системе;- архитектурно-специфичный общий системный каталог, например,
/usr/local/share/julia
; - архитектурно-независимый общий системный каталог, например,
/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
и Загрузка кода.
Base.LOAD_PATH
— ConstantLOAD_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
и Загрузка кода.
Base.Sys.BINDIR
— ConstantSys.BINDIR::String
Строка, содержащая полный путь к директории, содержащей исполняемый файл julia
.
Base.Sys.CPU_THREADS
— ConstantSys.CPU_THREADS::Int
Количество логических ядер ЦП, доступных в системе, т.е. количество потоков, которые ЦП может выполнять одновременно. Обратите внимание, что это не обязательно количество ядер ЦП, например, в присутствии гиперпоточности.
Смотрите Hwloc.jl или CpuId.jl для получения дополнительной информации, включая количество физических ядер.
Base.Sys.WORD_SIZE
— ConstantSys.WORD_SIZE::Int
Стандартный размер слова на текущей машине, в битах.
Base.Sys.KERNEL
— ConstantSys.KERNEL::Symbol
Символ, представляющий имя операционной системы, возвращаемое uname
конфигурации сборки.
Base.Sys.ARCH
— ConstantSys.ARCH::Symbol
Символ, представляющий архитектуру конфигурации сборки.
Base.Sys.MACHINE
— ConstantSys.MACHINE::String
Строка, содержащая тройное значение сборки.
Смотрите также: