Module loading
Base.require
负责加载模块,并且管理预编译缓存。它是 import
语句的实现。
Experimental features
以下功能是实验性的,不属于稳定的 Julia API。在基于它们进行开发之前,请了解当前的思路以及它们是否可能很快发生变化。
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]