2

Ruby でユーザー入力を収集するとき、chompその入力を使用することが望ましい動作ではない場合はありますか? つまり、単純に使用getsして適切でないgets.chomp場合です。

4

1 に答える 1

4

はい、入力の最大長を指定する場合、gets戻り値に "\n" を含めることで、Ruby がx"\n" に遭遇したため、またはx最大入力サイズだったために文字を提供したかどうかを知ることができます。

> gets 5
abcdefghij
=> 'abcde'

対:

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

返された文字列に末尾の改行が含まれていない場合は、バッファにまだ文字があることを意味します。

入力に制限がなければ、末尾の改行、またはその他の区切り文字はおそらくあまり役​​に立ちませんが、一貫性のために保持されています。

于 2015-08-21T18:19:26.853 に答える