【问题标题】:Ruby and Pry (or other debugging gem): How can I show the definition of a variable?Ruby and Pry(或其他调试 gem):如何显示变量的定义?
【发布时间】:2021-04-27 14:21:36
【问题描述】:

我需要知道如何检查变量在哪里——如果没有定义——那么它被分配到哪里。通过 Pry 或类似的 gem(或 Ruby 标准库,如果可能的话)

【问题讨论】:

  • 变量不应该有定义,而只是一个简单的赋值。但是,如果您想检查方法的定义,可以在调试器停止在使用该方法的行后键入“step”。
  • 要查看变量的值,pry(和我经常使用的 byebug)提供了一个控制台提示符,您可以在其中键入变量并打印该值。要查看变量的类,可以在变量名后附加.class以打印类。
  • 感谢您的评论,但我需要知道如何检查变量的位置 - 如果未定义 - 那么请分配它的位置。

标签: ruby-on-rails ruby debugging pry


【解决方案1】:

我认为这是我现在能想到的最接近您的问题的答案。请查看pry-moves

您可以使用它来调试程序执行的启动并使用watch variable(如果您至少知道变量的名称)并查看它何时获得值,您会知道在哪个它被定义/声明的执行步骤。

【讨论】:

  • 感谢您的回答。会试试的。
  • 它对你有用吗?我对其进行了测试,它似乎可以满足您的需求。如果您解决了疑问,请不要忘记标记我的答案。
  • 亲爱的 svelandiag,在我的登录场景中,我仍然关心这一步之前的步骤。当我准备好时,我会回复你的答案,当然,如果成功,我会检查你的答案为“已接受的答案”:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多