Estoy usando Pry con mi aplicación Rails. Configuré binding.pry
dentro de un bucle en mi modelo para tratar de depurar un problema. Por ejemplo:
(1..100).each do |i|
binding.pry
puts i
end
Cuando escribo quit
, pasa a la siguiente iteración y se detiene nuevamente. ¿Hay alguna forma de salir del ciclo para que no tenga que escribir quit
100 veces?
Actualmente, la única forma en que sé cómo salir de esto es usar CTRL+ Cy reiniciar la aplicación.
exit
permitirá que el programa continúe ejecutándose.rspec
. Pero CTRL-C, dos veces, lo hizo.Ctrl + C
dos veces matará la sesión de Pry, pero también matará efectivamente esa ventana de terminal: la salida posterior se interrumpe de forma tal que necesito cerrar esa pestaña de terminal y pasar a una nueva. Sin embargo!!!
, no tiene este efecto agravante.Yo suelo:
Esto mantendrá el programa en ejecución, pero evitará que continúe deteniendo la ejecución. Esto es especialmente útil cuando está depurando en la consola.
fuente
ENV['DISABLE_PRY'] = nil
su controlador no en la línea de comandos O en la consola de rieles.Para salir de todo, use:
Esto debería ignorar todos los enlaces en curso.
fuente
exit-program
sigue siendo probablemente la mejor opción si no desea reiniciar el servidor.exit-program
permite mantener surails server
sesión, pero parece lanzar unSystemExit
La triple exclamación (
!!!
) haría eso.fuente
disable-pry
+ENV['DISABLE_PRY'] = nil
pero intenté loexit-program
que me dio un sistema Salir. Este simplemente funciona. (En rieles 3.2.22.2, palanca 0.10.3 y rubí 1.9.3)Utilizar
Para renombrar, agregue esto a su controlador
fuente
Una
binding.pry
declaración es exactamente lo mismo que un punto de interrupción en GDB. Tal punto de interrupción en GDB también se vería afectado 100 veces.Si solo desea
binding.pry
que se golpee una vez, para la primera iteración del bucle, use un condicional en el mebinding.pry
gusta así:Luego sale de la sesión actual simplemente escribiendo
exit
.fuente
Basado en las dos respuestas anteriores anteriores:
¡Gracias chicos! ¡Tus consejos me han ayudado mucho!
Solo quiero compartir un simple truco estúpido, que personalmente uso para no preocuparme por la
DISABLE_PRY
variable de entorno todo el tiempo. Agregue esta devolución de llamada al controlador baseApplicationController
de su proyecto de forma permanente. Volvería a habilitar PRY automáticamente cada vez quedisable-pry
se llame al:fuente
Usando gema
pry-moves
puedes salir del bucle usandof
(comando terminar)ejemplo:
fuente
presione 'q' y verá así
tipo
esta palabra servirá, si no:
fuente