有没有在没有 'chomp' 的情况下使用 'gets' 的时间?

Is there a time when 'gets' would be used without 'chomp'?

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

是的,如果您指定输入的最大长度,在 gets return 值中包含一个“\n”可以让您判断 Ruby 是否给了您 x 个字符,因为它遇到了“\n”,或者因为 x 是最大输入大小:

> gets 5
abcdefghij
=> 'abcde'

对比:

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

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

没有输入限制,尾随换行符或任何其他定界符可能没有多大用处,但为了保持一致性而保留。