在Ruby中收集用户输入时,是否有时候在该输入上使用chomp
将不是所需的行为?也就是说,何时只使用gets
而不是gets.chomp
是合适的。
答案 0 :(得分:3)
是的,如果您指定输入的最大长度,请使用" \ n"包含在gets
返回值中,允许您判断Ruby是否为您提供了x
个字符,因为它遇到了" \ n"或者因为x
是最大输入大小:
> gets 5
abcdefghij
=> 'abcde'
VS
> gets 5
abc\n
=> 'abc\n'
如果返回的字符串不包含尾随换行符,则表示缓冲区中仍有字符。
没有输入限制,尾随换行符或任何其他分隔符可能没什么用处,但保持一致性。