我看到了两种使用方式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
删除换行符。
第二种形式的幕后发生了什么?在什么情况下使用第二种形式有用或必要?