Ruby でユーザー入力を収集するとき、chomp
その入力を使用することが望ましい動作ではない場合はありますか? つまり、単純に使用gets
して適切でないgets.chomp
場合です。
1 に答える
4
はい、入力の最大長を指定する場合、gets
戻り値に "\n" を含めることで、Ruby がx
"\n" に遭遇したため、またはx
最大入力サイズだったために文字を提供したかどうかを知ることができます。
> gets 5
abcdefghij
=> 'abcde'
対:
> gets 5
abc\n
=> 'abc\n'
返された文字列に末尾の改行が含まれていない場合は、バッファにまだ文字があることを意味します。
入力に制限がなければ、末尾の改行、またはその他の区切り文字はおそらくあまり役に立ちませんが、一貫性のために保持されています。
于 2015-08-21T18:19:26.853 に答える