Module loading
Base.require
отвечает за загрузку модулей и также управляет кэшем предварительной компиляции. Это реализация оператора import
.
Experimental features
Ниже перечисленные функции являются экспериментальными и не являются частью стабильного API Julia. Прежде чем использовать их, ознакомьтесь с текущими мыслями и тем, могут ли они скоро измениться.
Package loading callbacks
Можно прослушивать пакеты, загружаемые с помощью Base.require
, зарегистрировав обратный вызов.
loaded_packages = Base.PkgId[]
callback = (pkg::Base.PkgId) -> push!(loaded_packages, pkg)
push!(Base.package_callbacks, callback)
Использование этого будет выглядеть как:
julia> using Example
julia> loaded_packages
1-element Vector{Base.PkgId}:
Example [7876af07-990d-54b4-ab0e-23690620f79a]