From: Jonathan Bale Date: 2010-07-15T03:30:51+09:00 Subject: Re: Stdout as IO object Brian Candler wrote: > Jonathan Bale wrote: >> Okay, real simple question, but somehow I am missing it in the API: how >> do create an IO object that represents stdout? I'm using a certain >> function that receives writable IO objects and I wanted to pass in the >> standard output as a stream. > > When your program starts, the constant STDOUT is an open file descriptor > for STDOUT, and the global variable $stdout also points to it. > > Using the global variable is the recommended approach, as it adds more > flexibility for pointing it to a different object like a StringIO > without having warnings about constants being redefined. The $stdout variable works fine. I was a little confused with $stdout at first, because the documentation I found either does not describe what it is, or talks about it as a "file descriptor". But it is actually an IO object: $ irb irb(main):001:0> $stdout.class => IO -- Posted via http://www.ruby-forum.com/.