Если вы действительно хотите отсортировать массив, это будет работать:
a = ['A', 'B', 'C', 'D']
a.sort_by.with_index { |e, i| [e == 'C' ? 0 : 1, i] }
#=> ["C", "A", "B", "D"]
В противном случае вы можете просто delete
'C'
из массива и prepend
it:
a.prepend(a.delete('C'))
#=> ["C", "A", "B", "D"]
Обратите внимание, что это изменит a
.