是否有一段时间'没有'chomp'会使用'gets'?

时间:2015-08-21 18:03:03

标签: ruby chomp

在Ruby中收集用户输入时,是否有时候在该输入上使用chomp将不是所需的行为?也就是说,何时只使用gets而不是gets.chomp是合适的。

1 个答案:

答案 0 :(得分:3)

是的,如果您指定输入的最大长度,请使用" \ n"包含在gets返回值中,允许您判断Ruby是否为您提供了x个字符,因为它遇到了" \ n"或者因为x是最大输入大小:

> gets 5
abcdefghij
=> 'abcde'

VS

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

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

没有输入限制,尾随换行符或任何其他分隔符可能没什么用处,但保持一致性。