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]