ruby - 是否有时会在没有 'gets' 的情况下使用 'chomp' ?

标签 ruby chomp

在 Ruby 中收集用户输入时,是否有过在该输入上使用 chomp 不是理想行为的情况?也就是说,什么时候只使用 gets 而不是 gets.chomp 是合适的。

最佳答案

是的,如果您指定输入的最大长度,则在 gets 返回值中包含“\n”可以让您知道 Ruby 是否为您提供了 x 个字符因为它遇到了“\n”,或者因为x是最大输入大小:

> gets 5
abcdefghij
=> 'abcde'

对比:

> gets 5
abc\n
=> 'abc\n'

如果返回的字符串不包含尾随换行符,则表示缓冲区中仍有字符。

如果没有输入限制,尾随换行符或任何其他分隔符可能没有多大用处,但保留它是为了保持一致性。

关于ruby - 是否有时会在没有 'gets' 的情况下使用 'chomp' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32146678/

相关文章:

ruby-on-rails - 不使用任何方法或使用 `all()` 生成 ActiveRecord::Relation

php - CodeIgniter 项目启动器

Android 滑动 View ?

Perl chomp 不会删除所有换行符

perl - Perl 中的 "Use of uninitialized value in scalar chomp"

ruby - 如何在 Rails 3.0.3 中设置邮件拦截器?

ruby-on-rails - Heroku 上不受信任的证书

ruby-on-rails - 为什么在安装 Rails 时出现 "write permission"错误?

string - 如何在 Erlang 中去除字符串中的所有空白字符?

ruby - sublime text 看不懂gets.chomp