如何在不退出rails控制台的情况下退出pry循环

时间:2016-02-20 04:27:05

标签: ruby-on-rails pry

有时候我在使用binding.pry时陷入了长时间的循环。 我可以通过exit-program退出循环,但命令也会退出rails console。

有没有简单的方法可以在不退出rails console的情况下退出长循环?

2 个答案:

答案 0 :(得分:5)

我不确定这是您正在寻找的内容,但您可能需要尝试val localArray: Array[Int] = input.map { case Row(_, id: Integer) => id }.collect val result: Array[DataFrame] = localArray.map { i => testDf.where(testDf("_1") === i) } 命令,该命令将自动迭代整个循环而不退出会话。另一个选项(虽然对于长循环不太好)将是使用disable-pry Ctrl + D ,它循环遍历循环的单个循环。你必须反复输入它,直到你的循环完成,但如果这是你的目标,它将允许你击中另一个断点。

要获得更多控制权,您可能需要添加其他宝石,例如byebugpry-byebug

答案 1 :(得分:0)

debug = true
# start loop
    binding.pry if debug
# end loop

您可以使用exit单独退出每个循环迭代。然后,当您准备退出调试并继续执行剩余代码时,请输入debug = false。然后,exit将返回rails控制台会话。