que dirigen la salida estándar a un archivo usando este código:Salida de la salida estándar a un archivo y viceversa
STDOUT.reopen(File.open("./OUTPUT",'w+'))
ahora tengo que STDOUT ruta al terminal nuevo.
¿Cómo podría hacer esto?
que dirigen la salida estándar a un archivo usando este código:Salida de la salida estándar a un archivo y viceversa
STDOUT.reopen(File.open("./OUTPUT",'w+'))
ahora tengo que STDOUT ruta al terminal nuevo.
¿Cómo podría hacer esto?
ACTUALIZADO
orig_std_out = STDOUT.clone
STDOUT.reopen(File.open('OUTPUT', 'w+'))
puts "test to file"
STDOUT.reopen(orig_std_out)
puts "test to screen"
Es necesario volver a abrir el identificador de archivo STDOUT 1, que es el mango fd estándar para la salida estándar (0=stdin, 1=stdout, 2=stderr
).
No soy un chico de Ruby, pero creo que esto es sobre la derecha:
STDOUT.reopen(IO.for_fd(1, "r"))
Incluso más simple si en UNIX:
STDOUT.reopen 'OUTPUT'
puts 'text to file'
STDOUT.reopen '/dev/tty'
puts 'text to console'