gpt4 book ai didi

ruby - Ruby 中 $stdout 和 STDOUT 的区别

转载 作者:数据小太阳 更新时间:2023-10-29 06:18:36 27 4
gpt4 key购买 nike

在 Ruby 中,$stdout(前面有一个美元符号)和 STDOUT(全部大写)有什么区别?在进行输出重定向时,应该使用哪个,为什么? $stderrSTDERR 也是如此。

编辑: 刚找到一个 related question .

最佳答案

$stdout 是代表当前标准输出的全局变量STDOUT 是代表标准输出的常量,通常是 $stdout 的默认值。

由于 STDOUT 是常量,您不应该重新定义它,但是,您可以重新定义 $stdout 而不会出现错误/警告(重新定义 STDOUT 将发出警告)。例如,您可以:

$stdout = STDERR

同样适用于 $stderrSTDERR


因此,要回答问题的另一部分,请使用全局变量而不是常量来重定向输出。请小心在您的代码中将其改回来,重新定义全局变量可能会影响您应用程序的其他部分。

关于ruby - Ruby 中 $stdout 和 STDOUT 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6671716/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com