最佳实践是深入访问变量的几个函数层

问题描述 投票:-1回答:1

调试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中访问它?

我知道我可以编写测试函数并测试isubtract()内部具有预期属性,但有时使用REPL会更快。

julia
1个回答
2
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.