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.jlcompiled: Содержит предварительно скомпилированные*.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Строка, содержащая тройное значение сборки.
Смотрите также: