何时在Ruby中使用$ stderr vs STDERR?

dan*_*dan 16 ruby

可能重复:
Ruby $ stdout与STDOUT

STDERR一般优于使用$stderr,反之亦然?

STDOUTvs 那怎么样$stdout

Nik*_* B. 20

相反,使用$stderr是优选的.

原因是$stderr因为可以重新分配全局变量,STDERR而不应该重新分配常量(它会引发警告).

通常它们都指向相同的标准错误文件,但在某些情况下,您可能希望暂时将所有输出重定向到其他位置(例如,日志文件或字符串缓冲区),在这种情况下,您可以重新分配$stderr所有输出你的代码会尊重(如果你足够聪明,$stderr而不是STDERR首先使用).