Lo más fácil/limpio, es explicitamente usar un archivo:

>> file = File.open("foo.log", "a")
>> at_exit { file.close }
>> cats.collect {|e| file.puts e.id, e.name }

Así sólo tirás al archivo lo que querés guardar.

*Creo* que también podés hacer STDOUT.reopen("foo.log"), buscá en la
documentación; eso debería hacer que todo lo que tires al stream de stdout
caiga en ese archivo, pero no me acuerdo bien.

Y la más fea de todas, que si la hacés Dios va a matar un gatito(*) es

def puts(*args)
  File.open("foo.log", "a") {|f| f.puts(*args) }
end

No provoques la muerte de un gatito.
-foca

(*) soy ateo, pero igual creo que existe un Dios que mata gatitos cuando
hacés estas cosas.


2009/10/22 gustavo c <[email protected]>

> Hello rails fans,
> quiero la salida de un comando de de rails script/console
> mandarlo a un archivo
>
> ejemplo, tengo una collecion (conjunto) de categorias en la variable
> cats y quiero la salida a un archivo
> >> cats.collect {|e| puts e.id, e.name}
>
> estoy trabajando en Ubuntu
> Gracias
> --
> gustavo c
> _______________________________________________
> Ruby mailing list
> [email protected]
> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
>
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a