这两个命令是相同的,还是有细微的区别?

推荐答案

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

注:正如埃奇里斯托弗森指出的,Kernel#gets实际上会回落到$stdin,而不是STDIN.但是,除非将$stdin分配给不同的输入流,否则默认情况下它将与STDIN相同.

http://www.ruby-doc.org/core-1.9.3/Kernel.html#method-i-gets

Ruby相关问答推荐

ruby 3.1:使用方法(:名称)简化代码莫名其妙地失败

ruby 组合哈希相关键

从整数中 Select 重复数字的字符串

Ruby:这两种混入模块方法是否等效?

ASDF 上缺少 Ruby 版本

Rack并发 - rack.multithread、async.callback 或两者兼而有之?

方法应该以 (?问号)结尾吗?只返回一个布尔值?

将一个目录的内容复制到另一个目录

Ruby 中的 Fail vs. raise:我们真的应该相信风格指南吗?

Python 是否在 Ruby 中进行类似于字符串 #{var}的变量插值?

如何判断 Capistrano 中是否存在文件(在远程服务器上)?

Ruby - 查看端口是否打开

从 Ruby 中的 DateTime 中减go n 小时

Ruby 多维数组

不区分大小写的数组#include?

是否可以使用 Ruby 读取文件的修改日期?

如果公司使用 C++、C# 或 Java 作为应用程序语言,为什么要学习 Perl、Python、Ruby?

如何在不为 RVM 用户授予 sudo 访问权限的情况下安装 RVM 系统要求

Docker for Mac - mkmf.rb 找不到 ruby​​ 的头文件

如何使用 Ruby 删除回车?