首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >$stdin.gets和gets之间有什么区别吗?

$stdin.gets和gets之间有什么区别吗?
EN

Stack Overflow用户
提问于 2015-04-22 10:52:03
回答 2查看 318关注 0票数 2

我正在阅读Zed的书“艰难地学习Ruby”,我想知道$stdin.getsgets之间有什么区别吗?如果是的话,我更喜欢哪一种?

提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-22 10:57:24

getsKernel#gets,它首先尝试读取通过ARGV传入的文件的内容。如果ARGV中没有文件,它将使用标准输入(此时输入与$stdin.gets相同)

票数 5
EN

Stack Overflow用户

发布于 2015-04-22 10:58:38

默认情况下,puts、print、gets等在stdin上工作,引用全局(以‘$’为前缀)是比较少见的。在我看来,不明确地引用$stdin似乎是惯用的做法。

更新:正如J rg正确指出的那样,gets有点聪明。根据docs (2.2.0)r:

从ARGV (或$_)中的文件列表返回(并分配给$*)下一行,如果命令行中没有文件,则从标准输入返回

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29795253

复制
相关文章

相似问题

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