У меня есть 2D-массив, и мне нужно отсортировать по значениям в этих массивах, используя sort_by!(например, когда второе значение массива равно nil, оно принадлежит первой группе)
Я сделал это с каждым методом, но мне нужен более красивый / читаемый код.
Что у меня есть до сих пор: образец Арри: [[164, ноль, 6], [163, ноль, 6], [162, ноль, 6], [161, ноль, 7], [160, «FSDL», 6]]
matches.each do |match|
first_group << match.first if match.second.blank? && match.last == 6
second_group << match.first if match.second.present? && match.last == 6
third_group << match.first if match.last == 4
forth_group << match.first if match.last == 7
end
return first_group + second_group + third_group + forth_group
Я хотел сделать что-то вроде этого:
match.sort_by!{| матч |(match.second == nil && match.last == 6) (второе_условие) (третье_условие) (четвертое_условие)}