如果你有这样的课程:
class Person
attr_accessor :age
def initialize(age)
@age = age
end
end
还有一个像这样的数组:
people = [Person.new(10), Person.new(20), Person.new(30)]
寻找最大年龄
您可以通过以下方式获取年龄Array#map
:
people.map { |person| person.age }
#=> [10, 20, 30]
# or shorter
people.map(&:age)
#=> [10, 20, 30]
最大值为Enumerable#max
:
people.map(&:age).max
#=> 30
寻找最年长的人
或者您可以找到年龄最大的人Enumerable#max_by
:
oldest = people.max_by { |person| person.age }
#=> #<Person:0x007fef4991d0a8 @age=30>
# or shorter
oldest = people.max_by(&:age)
#=> #<Person:0x007fef4991d0a8 @age=30>
以及他或她的年龄:
oldest.age
#=> 30