【问题标题】:How to move to the next line in binding.pry ?如何移动到 binding.pry 中的下一行?
【发布时间】:2017-11-27 17:10:30
【问题描述】:

在 byebug 中我们可以通过输入 'n' 移动到下一行,类似地在 'pry' 中是否可以移动到下一行?

我已经浏览了那里的文档,但没有任何结果。

【问题讨论】:

    标签: ruby-on-rails ruby rubygems pry binding.pry


    【解决方案1】:

    查看pry-nav,它为您提供next 和step 等方法,这应该是您正在寻找的。​​p>

    如果您使用的是普通的旧 Pry,您可以使用 exit 转到下一个 binding.pry 或 disable-pry 以完全退出 Pry。

    【讨论】:

    • 还有pry-byebug把这两个库结合起来。
    • @user9015957 “它不起作用”是什么意思?您需要更具体地了解您尝试过的具体内容以及您看到的错误。如果您仍然遇到困难,我建议您创建一个新问题,对问题进行更完整的描述。
    • 似乎pry-nav 和pry-rails 目前需要不同版本的pry 并且不兼容。
    【解决方案2】:

    你不能。 pry 没有任何命令可以让你跳到下一行。所以,你的选择是:

    1. 在下一个断点处添加一个新的pry.binding,然后使用exit 在两个binging 之间跳转。
    2. 使用像pry-byebug 或pry-nav 这样的gem 添加next 命令跳转到下一行。
    3. 使用像pry-byebug 或pry-debugger 这样的gem 添加break 命令来添加像break <Class#method> 这样的断点。

    安装pry-byebug 是适合您情况的最佳解决方案,仅使用pry 是无法实现的。

    【讨论】:

      【解决方案3】:

      你可以exit继续代码流程

      【讨论】:

      • 为什么这个答案被否决了?请在否决答案时留下 cmets。这是不使用任何其他库的正确答案。
      • 因为他问的是如何进入下一行而不是如何退出断点,就像'next' || 'n' 在 byebug 中
      • 他在询问如何转到 binding.pry 中的下一行。当您使用 binding.pry 时,执行流程会在该行停止并恢复您使用 exit 的流程。如果你想在下一行停下来,你可以在那里放置另一个 binding.pry 但这毫无意义
      • 您可以使用 gem 'pry-byebug' 来利用两个 gem,而不是放置多个 pry
      • 你是对的,但我试图在没有任何额外宝石的情况下回答他。为什么有人会放置多个 binding.pry :p
      猜你喜欢
      • 2019-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-06
      相关资源
      最近更新 更多