Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Ruby | Enumerable | reverse_each

概要

Enumerable#reverse_each

詳細

Enumerable#reverse_each enumを逆順でブロックに渡します。

サンプル

コード
# encoding: utf-8
class Person
  include Enumerable
  attr_accessor :name, :age
  def initialize(name, age)
    @name, @age = name, age
  end

  def <=>(other)
    self.name <=> other.name
  end
end

persons = [Person.new("tanaka", 20), Person.new("sato", 55), Person.new("suzuki", 77)]

p persons
persons.each {|person|p person}
puts "-----------------------"
persons.reverse_each {|person|p person}
出力
[#<Person:0x29b43e8 @name="tanaka", @age=20>, #<Person:0x29b43a0 @name="sato", @age=55>, #<Person:0x29b4358 @name="suzuki", @age=77>]
#<Person:0x29b43e8 @name="tanaka", @age=20>
#<Person:0x29b43a0 @name="sato", @age=55>
#<Person:0x29b4358 @name="suzuki", @age=77>
-----------------------
#<Person:0x29b4358 @name="suzuki", @age=77>
#<Person:0x29b43a0 @name="sato", @age=55>
#<Person:0x29b43e8 @name="tanaka", @age=20>