如何在Julia语言中查看内置函数实现?对标Matlab的edit命令
在Julia中查看内置函数实现的方法(以Cholesky为例)
当然有啦!Julia提供了几个非常顺手的工具来查看内置函数的实现,完全能对标MATLAB里的edit function_name命令。下面我就以你提到的Cholesky分解为例,一步步教你怎么操作:
用
@edit宏直接打开编辑器
这是最贴近MATLABedit命令的方式。在Julia的REPL里输入:@edit cholesky(rand(3,3))这里要注意得传入符合函数签名的参数(比如一个3x3的随机矩阵)——因为Julia是多重分派语言,同一个函数名可能对应多个不同实现,
@edit需要明确你要查看哪一版代码。执行这条命令后,Julia会自动打开你默认的编辑器,并直接定位到对应的Cholesky实现代码。用
@which先确认函数的具体方法
如果你不确定当前调用的是哪个版本的Cholesky,可以先用@which查看方法的定义位置:@which cholesky(rand(3,3))它会返回类似这样的结果:
cholesky(A::AbstractMatrix; check::Bool=true) in LinearAlgebra at /path/to/julia/stdlib/v1.x/LinearAlgebra/src/cholesky.jl:XXX这里的路径就是该方法实现文件的位置,你可以手动打开这个文件查看,或者直接用上面的
@edit跳转到对应位置。用
methods查看所有可用的方法
要是想看看cholesky有哪些不同的实现版本,输入:methods(cholesky)它会列出所有匹配
cholesky函数名的方法签名,你可以针对感兴趣的签名,再用@edit查看具体代码。
小提示:这些方法不仅适用于Julia的内置函数,你自己定义的函数也同样可以用它们来查看实现哦!
内容的提问来源于stack exchange,提问作者matandked
相关产品推荐
相关产品推荐

