1
此代码的工作,因为它应该是:使用红宝石“获取”块
puts "pick 1:"
num_1 = gets.chomp
array.detect { |k| k.id == num_1.to_i }
...
puts "pick n:"
num_n = gets.chomp
array.detect { |k| k.id == num_n.to_i }
我不打算重用“民”变量其他地方,所以我想不转让gets
变量,并用它在该块如下所示:
puts "Pick 1:"
array.detect { |k| k.id == gets.chomp.to_i }
在控制台中,有时它有时不起作用。如果它不是我卡在这个功能。
是非法使用还是应该以某种方式包装gets
?
你正在每个数组元素中调用'gets',不是吗? –
我看到,它被多次调用,导致它在数组上.. –
另外:'gets.to_i'返回与'gets.chomp.to_i'相同的值,这就是为什么您经常会看到'chomp'被省略的原因。如果's =获得#=>“123 \ n”',则's.int#=> 123'的原因与''3只盲鼠标」.to_I#=> 3'相同。 –