Ruby:STDIN.gets 是什么意思?

标签 ruby io

最近,我正在阅读遗留的 ruby​​ 脚本,并希望将其中一些转换为 python。

我理解“STDIN”的概念并进行了一些谷歌搜索。然而,没有关于这个独立语句的文档:“STDIN.gets”。返回值是多少?它是否 secret 获取所有输入并将其存储在某些默认位置,或者它只是我应该删除的一段未完成的无意义的遗留代码?

最佳答案

如果你运行p STDIN.method(:gets)你得到#<Method: IO#gets> 。这意味着gets方法(如果在 IO 模块中定义)。知道了这一点,你就可以阅读gets的官方文档了。这里:

http://ruby-doc.org/core-2.3.0/IO.html#method-i-gets

gets方法不会将其数据存储在某个默认位置,而是将其作为方法的返回值返回。如果忽略该返回值,则数据会丢失,但调用 STDIN.gets 仍然有用。其副作用:gets将暂停线程的执行并等待来自标准输入的输入。这将使用户有机会查看 Ruby 脚本已经完成的操作,并在用户愿意的情况下提前终止它。

关于Ruby:STDIN.gets 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37287945/

相关文章:

c# - 检查文件是否打开

Ruby 命名约定?

ruby - 使用 Nokogiri 从 Instagram 提取图像?

python - 如何读取 Abaqus .mtx 文件? Scipy.io.mmread 给出 'not enough values to unpack' 错误

python - 在python项目中使用相对路径读取文件

java - 打开的文件句柄太多

ruby - 检查变量是否在 ruby​​ 中的数组中

ruby - Ruby 和类似类型语言中的数组是向量吗?

ruby-on-rails - accepts_nested_attributes_for 和 nested_form 插件

基于 PHP 文件的缓存与直接从 MySQL 或 MariaDB 等数据库读取