我正在尝试使用从该数组中获取前 2 个值inject
,
a = [1, 2, 5, 7, 4, 9, 2]
b = a.inject(Array.new(2) {0}) {|r, e|
if e > r[0]
r[1] = r[0]
r[0] = e
end
}
'block in <main>': undefined method '[]' for nil:NilClass (NoMethodError)
但我不断收到错误消息r[1] = r[0]
我怎样才能改变它,以便r[0]
代表 中的最大值a
和r[1]
第二大值?还是有更好的,更像红宝石的方式?