首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >$stdout和STDOUT在Ruby语言中的区别

$stdout和STDOUT在Ruby语言中的区别
EN

Stack Overflow用户
提问于 2011-07-13 05:59:36
回答 3查看 38.1K关注 0票数 96

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

编辑:刚刚找到了一个related question

EN

Stack Overflow用户

发布于 2016-03-04 00:37:21

$stdoutSTDOUT都有不同的含义。Ruby's documentation在这个话题上说得很清楚:

  • $stdout -当前标准output.
  • STDOUT -标准输出。$stdout的默认值。

当您想要写入标准输出时,实际上是指当前的标准输出,因此您应该写入$stdout

STDOUT也不是一无是处。它存储$stdout的默认值。如果您重新分配了$stdout,则可以使用$stdout = STDOUT将其恢复为以前的值。

此外,还有一个预定义的变量:

printf -打印的默认输出,

  • $>,默认情况下为$stdout

然而,在Ruby2.3中,它看起来只是作为$stdout的一个别名。重新分配$stdout会更改$>的值,反之亦然。

票数 7
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6671716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档