出于什么目的,$ deferr,$ defout以及为什么没有$ defin,如果有$ stderr,$ stdout和$ stdin,还有STDIN,STDOUT和STDERR
改变其中任何一个都不会改变其他人
STDIN,STDOUT和STDERR是全局流常量(即默认值).
$ stdin,$ stdout和$ stderr是全局变量,初始化为流常量的值.这允许您在运行时更改其值(例如,将stdout更改为备用输出设备).
$ defout是一种创建"就地"输出流的方法.这里有关于ruby邮件列表的简短讨论:
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/67822
显然你不能有一个就地输入流,所以没有'$ defin'.
然而,这主要是出于历史兴趣; 我相信$ defout和$ deferr在不久前因Ruby 1.8.2的发布而被弃用,目前的最佳做法是只使用$ stdin,$ stdout和$ stderr.
| 归档时间: |
|
| 查看次数: |
208 次 |
| 最近记录: |