Если вы считаете каждый элемент подмассива цифрой от 0 до 9, вы можете использовать Array#sort_by
, где блок преобразует массив в строку, а затем в целое число:
arr.sort_by { |e| e.join.to_i }
#=> [[0, 1], [1, 2], [2, 1], [2, 3]]
Как это работает.
[1, 2].join #=> "12"
[1, 2].join.to_i #=> 12
В данном случае:
arr = [[1,0,2,0],[2,3],[2,1],[0,1]]
#=> [[0, 1], [2, 1], [2, 3], [1, 0, 2, 0]]