我看到了兩種方式來使用gets
,一個簡單的形式:差獲得方法
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}"
第二樣品看起來如Perl使用默認輸出流的flush
方法。 Perl使顯式的默認輸出流操作;方法flush
對我來說是個謎。它的行爲可能與我推斷的不同,它使用chomp
刪除新的行字符。
第二種形式在幕後發生了什麼?什麼情況下使用第二種形式是有用的或必要的?
您有時會看到'gets.to_i'或'gets.to_f'。這裏不需要'chomp',因爲更一般地說,''123cat'.to_i => 123','「1.23dog」.to_f => 1.23'。 – 2014-09-21 18:31:57