Julia 访问多个功能层的变量的最佳实践

Julia 访问多个功能层的变量的最佳实践,julia,Julia,调试Julia代码时,我经常遇到以下情况: 我怀疑代码深处的某个变量(通常是一个大矩阵)不是我想要的,我想仔细看看。理想情况下,我想在REPL中访问它,这样我就可以使用它了 在不向链上传递变量的情况下访问多个函数层的变量的最佳实践是什么,即更改函数返回 例如: function multiply(u) v = 2*u w = subtract(v) return w end function subtract(x) i = x-5 t = 10 return i-3t

调试Julia代码时,我经常遇到以下情况:

我怀疑代码深处的某个变量(通常是一个大矩阵)不是我想要的,我想仔细看看。理想情况下,我想在REPL中访问它,这样我就可以使用它了

在不向链上传递变量的情况下访问多个函数层的变量的最佳实践是什么,即更改函数返回

例如:

 function multiply(u)
  v = 2*u
  w = subtract(v)
  return w
end

function subtract(x)
  i = x-5
  t = 10
  return i-3t
end


multiply(10)
如果我运行
multiply()
并怀疑中间变量
I
不是我假设的那样,我如何在REPL中访问它


我知道我可以编写一个测试函数,测试
I
是否在
subtract()
中具有预期的属性,但有时使用REPL会更快。

这在任何编程语言中都是一样的。您可以使用调试工具,如ASTInterpreter2(具有良好的Juno集成),逐步完成代码并在当前环境中创建交互式REPL,或者可以使用println调试,在其中使用
@show
命令运行代码以打印出值