【发布时间】:2015-08-21 18:03:03
【问题描述】:
在 Ruby 中收集用户输入时,是否曾经在该输入上使用 chomp 不是理想的行为?也就是说,什么时候只使用gets 而不是gets.chomp 是合适的。
【问题讨论】:
在 Ruby 中收集用户输入时,是否曾经在该输入上使用 chomp 不是理想的行为?也就是说,什么时候只使用gets 而不是gets.chomp 是合适的。
【问题讨论】:
是的,如果您指定输入的最大长度,则在 gets 返回值中包含“\n”可以让您判断 Ruby 是否因为遇到“\n”而给了您x 字符,或者因为x 是最大输入大小:
> gets 5
abcdefghij
=> 'abcde'
对比:
> gets 5
abc\n
=> 'abc\n'
如果返回的字符串不包含尾随换行符,则表示缓冲区中仍有字符。
如果没有输入限制,尾随换行符或任何其他分隔符可能没有太多用处,但为了保持一致性而保留。
【讨论】: