2008-09-27 10 views
6

Estoy tratando de encontrar una mejor manera de integrar IRB con mi desarrollo de ruby ​​normal. Actualmente raramente uso IRB con mi código. Solo lo uso para verificar la sintaxis o intentar algo pequeño.¿Cómo incorporar Ruby interactivo en mi proceso de desarrollo?

Sé que puedo cargar mi propio código en el rubí como

require 'mycode' 

pero esto generalmente no encaja con mi estilo de programación. En ocasiones, las variables que deseo examinar están fuera del alcance o dentro de un ciclo. ¿Hay alguna manera fácil de iniciar mi script y congelarlo en cierto punto dentro de IRB? Supongo que estoy buscando una forma más fácil de depurar mi código Ruby sin romper mi clave F5 (compilar).

Tal vez un desarrollador de ruby ​​con más experiencia pueda compartir conmigo un método de desarrollo más simplificado.

+0

Desarrollar prueba primero (preferiblemente con RSpec y pepino). Entonces no necesitarás mucho IRB. Pero sí, los puntos de corte de los depuradores son el camino a seguir, como ya han dicho otros. –

Respuesta

10

Instale la gema ruby-debug. Por supuesto, solicítelo dentro de su aplicación (solo en modo desarrollo/prueba). Ahora puedes escribir 'depurador' donde quieras detener la ejecución.

Una vez que su aplicación se detiene en su punto de interrupción, puede escribir 'ayuda' para conocer todos los comandos. Uno de ellos es 'irb'. Inicia una sesión de IRB en la que tiene acceso a todos los métodos en su contexto actual.

Personalmente uso p (print), eval, v i (ejemplos vars) y v l (vars locales). Por supuesto, n para next y c para continuar.

El comando para salir de un bloque/método determinado nunca funcionó para mí. Nunca investigué por qué :-)

+0

Tengo un fragmento textmate/e que inserta "require 'ruby-debug'; depurador". Lo uso unas 10 veces al día.Es increíble :-) –

+0

Ooh, ¡tendré que comprobarlo! Gracias :-) – webmat

0

Solo uso rdebug para depurar cualquiera de mis códigos Ruby o RoR.

2

No suelo usar irb directamente con frecuencia, ya que tiendo a estar dentro de los rieles y por lo tanto uso un poco la secuencia de comandos/consola, pero me gusta usar el depurador Ruby (gema Ruby Debug). Le permite establecer un punto de interrupción básicamente y luego recorrer su código línea por línea.

Aquí hay un screencast de ello que no he visto en realidad, pero una búsqueda rápida tiró de él, y podría ser útil:

http://brian.maybeyoureinsane.net/blog/2007/05/07/ruby-debug-basics-screencast/

0

Si usted está dispuesto a utilizar un IDE para depuración, sé Eclipse (a través del Ruby Development Tools) tiene una interfaz relativamente sencilla. Si está haciendo rails, entonces hay una compilación específica de eclipse llamada RadRails que también puede ayudar (aunque no lo he usado para la depuración)

1

Para el desarrollo de Ruby en Eclipse: hay una versión mejorada de RDT (herramientas de desarrollo de ruby) disponible ahora. Para instalarlo directamente en Eclipse, haga clic en Ayuda> Actualizaciones de software> Buscar e instalar> Buscar nuevas características botón de opción> siguiente> nuevo sitio remoto> Nombre = Ruby y URL = http://update.aptana.com/update/rdt/3.2/

Otro plugin de Ruby es el brillante nuevo Eclipse DLTK (juego de herramientas de idiomas dinámicos). DLTK stable release 1.0.M5 acaba de salir hace unos días. Aquí hay algunos useful installation tips.

Cuestiones relacionadas