Я использую Pry с моим Rails-приложением. Я установил binding.pry
цикл в моей модели, чтобы попытаться отладить проблему. Например:
(1..100).each do |i|
binding.pry
puts i
end
Когда я печатаю quit
, он переходит к следующей итерации и снова останавливается. Есть ли способ выйти из цикла, чтобы мне не приходилось печатать quit
100 раз?
В настоящее время я знаю, как выйти из него - использовать CTRL+ Cи перезапустить приложение.
exit
позволит программе продолжить работу.rspec
. Но CTRL-C, дважды, сделал.Ctrl + C
дважды приведет к прекращению сеанса Pry, но также приведет к эффективному завершению этого окна терминала: последующий вывод будет сбит, так что мне нужно закрыть вкладку терминала и перейти к новой. Однако!!!
не имеет этого отягчающего эффекта.Я использую:
Это сохранит работу программы, но не позволит продолжить выполнение. Это особенно полезно при отладке в консоли.
источник
ENV['DISABLE_PRY'] = nil
в своем контроллере не в командной строке ИЛИ в консоли rails.Чтобы выйти все, используйте:
Это должно игнорировать все исходящие привязки.
источник
exit-program
по-прежнему, вероятно, лучший вариант, если вы не хотите перезагружать сервер.exit-program
позволяет вам поддерживать вашуrails server
сессию, но, кажется, броситьSystemExit
Тройной восклицательный знак (
!!!
) сделает это.источник
disable-pry
+ENV['DISABLE_PRY'] = nil
комбо, но я попытался,exit-program
который дал мне системный выход. Этот просто работает. (На рельсах 3.2.22.2, подглядывать 0.10.3 и рубин 1.9.3)использование
Чтобы сдать в аренду, добавьте это в свой контроллер
источник
binding.pry
Утверждение точно так же , как точки останова в GDB. Такая точка останова в GDB также будет достигнута 100 раз.Если вы хотите,
binding.pry
чтобы элемент ударил только один раз, для первой итерации цикла, используйте условноеbinding.pry
выражение так:Затем вы выходите из текущего сеанса, просто набрав
exit
.источник
Основываясь на двух предыдущих ответах выше:
Спасибо вам, ребята! Ваши советы очень помогли мне!
Я просто хочу поделиться простым глупым трюком, который я лично использую, чтобы не беспокоиться о
DISABLE_PRY
переменной окружения все время. Добавьте этот обратный вызов в базовый контроллерApplicationController
вашего проекта навсегда. Он автоматически включит PRY каждый раз, когдаdisable-pry
вызывается:источник
Используя gem,
pry-moves
вы можете выйти из цикла, используяf
командупример:
источник
нажмите «q», и вы увидите, как это
тип
это одно слово подойдет, если нет:
источник