아마도이 질문에 대한 아주 간단한 대답이있을 것입니다. 그러나 저는 지금 당장 제 삶에서 그것을 알아낼 수 없습니다. 특정 유형의 객체에 대한 루비 배열이 있고 모두 특정 필드가있는 경우 해당 필드에 대해 가장 큰 값을 가진 배열 요소를 어떻게 찾습니까?
답변:
array.max_by do |element|
element.field
end
또는:
array.max_by(&:field)
도움이 되나요?
my_array.max {|a,b| a.attr <=> b.attr }
(나는 귀하의 필드에 이름이 있다고 가정합니다 attr
)
max_by
하기가 더 간단하기 때문에 사용하는 것을 선호 합니다. 블록은 단일 인수 만 취하고 명시 적으로 우주선 ( <=>
) 연산자를 사용할 필요가 없습니다 .