1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

doc update for IO.popen and $?. [ruby-talk:186294]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10061 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
akr 2006-03-28 01:50:11 +00:00
parent f1ad743015
commit afde18c5f5

9
io.c
View file

@ -2072,6 +2072,9 @@ rb_io_close(VALUE io)
* an <code>IOError</code> is raised if such an attempt is made. I/O
* streams are automatically closed when they are claimed by the
* garbage collector.
*
* If <em>ios</em> is opened by <code>IO.popen</code>,
* <code>close</code> sets <code>$?</code>.
*/
static VALUE
@ -2976,7 +2979,9 @@ pipe_open(int argc, VALUE *argv, const char *mode)
*
* If a block is given, Ruby will run the command as a child connected
* to Ruby with a pipe. Ruby's end of the pipe will be passed as a
* parameter to the block. In this case <code>IO::popen</code> returns
* parameter to the block.
* At the end of block, Ruby close the pipe and sets <code>$?</code>.
* In this case <code>IO::popen</code> returns
* the value of the block.
*
* If a block is given with a _cmd_ of ``<code>-</code>'',
@ -2992,6 +2997,7 @@ pipe_open(int argc, VALUE *argv, const char *mode)
* puts "Parent is #{Process.pid}"
* IO.popen("date") { |f| puts f.gets }
* IO.popen("-") {|f| $stderr.puts "#{Process.pid} is here, f is #{f}"}
* p $?
* IO.popen(%w"sed -e s|^|<foo>| -e s&$&;zot;&", "r+") {|f|
* f.puts "bar"; f.close_write; puts f.gets
* }
@ -3003,6 +3009,7 @@ pipe_open(int argc, VALUE *argv, const char *mode)
* Wed Apr 9 08:53:52 CDT 2003
* 26169 is here, f is
* 26166 is here, f is #<IO:0x401b3d44>
* #<Process::Status: pid=26166,exited(0)>
* <foo>bar;zot;
*/