Llamada a subprogramas via system

Hola,

Veamos, desde el controlado ruby hago esta llamada:

Controlador:
param=“Hola”
a = Thread.new {system(“program1.rb #{param}”) }

program1.rb:

auxeat=ARGV[0]
unFichero1 = File.new(“ficherito.txt”, “w”)
unFichero1.print(auxeat)
unFichero1.close

Recibo este resultado:
program1.rb: line 5: syntax error near unexpected token (' program1.rb: line 5:unFichero1 = File.new(‘ficherito.txt’, ‘w’)’

Si ejecuto program1.rb desde linea de comandos directamente no tengo
ningún error. La sintaxis está bien, pero no se que está pasando.

También me da error de command not found si incluyo algun require o
include…

¿Que estoy haciendo mal?

Saludos :wink:

On Jan 16, 2008, at 10:19 AM, Mario M. wrote:

¿Que estoy haciendo mal?

Tiene toda la pinta que ruby no es el interprete, sino una shell.
Habria que revisar shebang y permisos, o pasar “ruby” delante en la
cadena…, hay que conseguir que “program1.rb” se le pase a ruby de
algun modo.

– fxn

Xavier N. wrote:

On Jan 16, 2008, at 10:19 AM, Mario M. wrote:

�Que estoy haciendo mal?

Tiene toda la pinta que ruby no es el interprete, sino una shell.
Habria que revisar shebang y permisos, o pasar “ruby” delante en la
cadena…, hay que conseguir que “program1.rb” se le pase a ruby de
algun modo.

– fxn

Gracias.

Lo he solucionado asi:

a = Thread.new {system(“ruby program1.rb #{param}”) }