Я хочу указать метод настраиваемого блока для сортировки массива объектов в ruby, оценив два свойства. Однако после многих поисков в google я не попал ни в один пример без оператора <= > .
Это то, что я хочу сделать: сравнивая vs b:
if a.x less than b.x return -1
if a.x greater than b.x return 1
if a.x equals b.x, then compare by another property , like a.y vs b.y
это мой код (noob в ruby, извините), и он не работает...
ar.sort! do |a,b|
if a.x < b.y return -1
elseif a.x > b.x return 1
else return a.y <=> b.y
end
Этот блок находится внутри функции, поэтому возврат возвращается из функции и возвращает -1... Я буду признателен за любую помощь в этом.
С уважением.