Algum tempo atrás, alguém perguntou como “empurrar para array de uma maneira mais elegante” . Seu código (claro, feio como o inferno e absolutamente nada sujo)
valrow = [ 0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875]
lblrow = [48, 8539, 188, 8540, 189, 8541, 190, 8542]
opts = []
(0..7).each {|i| opts.push([lblrow[i].chr(Encoding::UTF_8), valrow[i]]) }
E eu pergunto por que vocês não aprendem Haskell com esse método incrível zipWith
e verificam se Ruby tem algo semelhante, ou seja, (escrever código superior de uma maneira mais simples):
opts = lblrow.map { |c| c.chr Encoding::UTF_8 }.zip(valrow)
Uau, uma linha, clara e incrível.