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

时间:2018-03-04 15:17:42

标签: 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
end


multiply(10)

如果我运行multiply()并怀疑中间变量i不是我认为应该是的那样,我将如何在REPL中访问它?

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

1 个答案:

答案 0 :(得分:2)

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