El día 11 de octubre de 2009 20:09, Sebastian A. Espindola <[email protected]> escribió: > 2009/10/11 Rafael Bidegain <[email protected]>: >> Hola a todos >> >> Hace un tiempo empecé un proyecto y hay una parte que requiere la >> ejecución paso a paso de sentencias ruby. >> Estoy cargando las sentencias ruby en un array y pretendo ejecutarlas >> llamando a eval. >> >> Si a eval le paso el array completo consigo ejecutar todas las >> sentencias, pero yo necesito pasarlas una a una. >> postie un programa que estoy usando para probar en >> http://pastebin.com/m22bd1309 >> >> si en ese programa ejecuto: >> e.run >> funciona correctamente (bah, obtengo los resultados que espero) >> >> pero si yo ejecuto: >> >> e.ejecutar_paso(0) >> esa linea funciona, tiene nada mas que una asignación >> >> e.ejecutar_paso(1) >> esta linea ya no funciona, tiene un while. >> >> >> Me gustaría que me orienten para poder avanzar un poco. >> > > Rafa, > El eval falla porque solo puede evaluar bloques de codigo completos, > o sea, no > encuentra el end. > > Acabo de submitear una correccion a tu pastebin donde meto el bloque > while entero > en un string e inserto el string en el array. > Lo acabo de probar y funciona joya. Tenes que hacer lo mismo con los > demas pasos. eeehhh! bueno me has dado una idea interesante.
Como yo tengo que detectar los bloques (while end/ if else end/if end) podría hacer un array con cada bloque. no puedo aplicar literalmente tu solucion porque no puedo ejecutar cada una de las sentencias, pero igual me sirvio tu post. > > Saludos. > Sebastian A. Espindola. > > PD: Tu pseudocodigo es HORRIBLE! :P es por la influencia del pisco Chileno, un par de tragos y me pega mal :P -- Rafael Bidegain Ya que los cuerdos no hablan, hablará el loco. (The Fool, Padraic Pearse) # divertite programando # http://rubytutorial.wikidot.com/introduccion _______________________________________________ Ruby mailing list [email protected] http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
