【问题标题】:How to exit the loop in pry如何在撬中退出循环
【发布时间】:2014-05-13 04:02:27
【问题描述】:

如果你继续输入'n',

你将在循环中循环 100 次,

我怎样才能离开每个循环并继续从第 7 行继续调试而不退出循环然后自动运行剩余代码,

exit!!!的行为不适合我, 因为我想在退出循环后继续调试代码。

    1: require 'pry'
    2:
 => 3: binding.pry
    4: (1..100).each do |x|
    5:     print x
    6: end
    7:
    8: print "hi"

【问题讨论】:

  • 你需要在each中使用break
  • @ArupRakshit [1] pry(main)> break SyntaxError: (eval):2: Can't escape from eval with break
  • 您尝试过gem install pry-nav 并使用continue 吗?
  • 您没有在循环中使用binding.pry...如果在循环中使用它,exit 会让您进入下一个迭代,而!!! 会让您摆脱窥探完全
  • @ymonad 使用continue 不会在line 8 停止

标签: ruby pry


【解决方案1】:

你可以使用disable-pry命令

【讨论】:

    【解决方案2】:

    使用gem install pry-debugger(如果你已经安装了pry-nav,你可以先卸载它)。当你来到这里时:

        1: require 'pry'
        2: 
     => 3: binding.pry
        4: (1..100).each do |x|
        5:   print x
        6: end
        7: 
        8: print "hi"
    

    使用break 8line 8处设置断点:

    [2] pry(main)> break 8
    Breakpoint 1: /home/darfux/Desktop/ruby/STO/23622590.rb @ line 8 (Enabled) :
    
        5:   print x
        6: end
        7: 
     => 8: print "hi"
    

    然后键入continue 继续程序,它会在line 8 处遇到断点:

    [3] pry(main)> continue
    123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
    Breakpoint 1. First hit.
    
    From: /home/darfux/Desktop/ruby/STO/23622590.rb @ line 8 :
    
        3: binding.pry
        4: (1..100).each do |x|
        5:   print x
        6: end
        7: 
     => 8: print "hi"
    
    [4] pry(main)> 
    

    查看更多here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-18
      • 2010-10-02
      • 2022-01-09
      • 2011-12-18
      • 2020-09-24
      • 1970-01-01
      • 2012-11-04
      • 1970-01-01
      相关资源
      最近更新 更多