2

在 Ruby 中收集用户输入时,是否有过使用chomp该输入不是所需行为的时候?也就是说,什么时候会简单地使用getsgets.chomp不合适。

4

1 回答 1

4

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

> gets 5
abcdefghij
=> 'abcde'

与:

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

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

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

于 2015-08-21T18:19:26.853 回答