tutorial try rugby programas ejemplos descargar ruby irb

try - ruby tutorial pdf



¿Cómo puedo soltar el indicador IRB desde un script en ejecución? (6)

¿Puedo pasar a un aviso IRB desde un script de Ruby en ejecución?

Quiero ejecutar un script, pero luego tengo que darme un indicador IRB en un punto del programa con el estado actual del programa, pero no solo ejecutando rdebug y teniendo un punto de interrupción.



Llego bastante tarde al juego, pero si ya está cargando un script desde dentro de irb / pry, un raise simple también funciona para regresarlo al indicador irb / pry. Lo uso bastante a menudo cuando escribo uno de los scripts en la consola de rails.


Simplemente agregue esta línea al lugar donde desea el punto de interrupción:

require ''ruby-debug'';debugger

pero sugiero utilizar la palanca en lugar de irb, que es muy útil, inserte en su lugar la siguiente línea:

require ''pry''; binding.pry


aparentemente requiere una porción de código para caer en IRB.

Aquí está el enlace (parece funcionar bien).

http://jameskilton.com/2009/04/02/embedding-irb-into-your-ruby-application

require ''irb'' module IRB def self.start_session(binding) # call this method to drop into irb unless @__initialized args = ARGV ARGV.replace(ARGV.dup) IRB.setup(nil) ARGV.replace(args) @__initialized = true end workspace = WorkSpace.new(binding) irb = Irb.new(workspace) @CONF[:IRB_RC].call(irb.context) if @CONF[:IRB_RC] @CONF[:MAIN_CONTEXT] = irb.context catch(:IRB_EXIT) do irb.eval_input end end end


puede usar ruby-debug para obtener acceso a irb

require ''rubygems'' require ''ruby-debug'' x = 23 puts "welcome" debugger puts "end"

cuando el programa llegue al depurador tendrá acceso a irb.


Pry (una alternativa IRB) también te permite hacer esto, de hecho fue diseñado desde cero para este caso de uso :)

Es tan fácil como poner binding.pry en el punto donde desea iniciar la sesión:

require ''pry'' x = 10 binding.pry

Y dentro de la sesión:

pry(main)> puts x => 10

Visite el sitio web: http://pry.github.com

Pry, te dejamos:

  • caer en una sesión en cualquier punto de tu código
  • ver el código fuente del método
  • ver la documentación del método (sin utilizar RI, por lo que no es necesario pregenerarlo)
  • entrar y salir de diferentes contextos
  • resaltado de sintaxis
  • integración esencial
  • ver y reproducir el historial
  • abrir editores para editar métodos usando la sintaxis edit obj.my_method

Una tonelada más grandes y originales características