gets
簡単な形式のを使用する 2 つの方法を見ました。
print 'Insert your name: '
name = gets()
puts "Your name is #{name}"
そして私の注意を引いたフォーム:
print 'Insert your name: '
STDOUT.flush
name = gets.chomp
puts "Your name is #{name}"
flush
2 番目のサンプルは、デフォルトの出力ストリームのメソッドを使用する点で perl のように見えます。Perl は明示的なデフォルトの出力ストリーム操作を行います。その方法flush
は私には謎です。私が推測しているものとは異なる動作をする可能性があり、chomp
改行文字を削除するために使用します。
第二形態の舞台裏は?2 番目の形式を使用するのに役立つ、または必要な状況は何ですか?