8 進数を使用して配列のインデックスを参照するクリーンな方法を見つけようとしています。8 進数 13 の配列インデックスを探している場合は、 の値を返す必要がありますa[11]
。
これは私がそれを達成するために思いついたものですが、あまりエレガントでも効率的でもないようです:
a = [ 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62 ]
v = 13
puts a[v.to_s.to_i(8)] # => 61
# OR
puts a[v.to_s.oct] # => 61
より良い方法はありますか?