10

Enumerable のドキュメントeachには、 がのエイリアスであることは明示的に記載されていませんがeach_entry、 の説明each_entryeach.

Enumerable両方の回答の例では、モジュールを実装してeachメソッドを定義する新しいクラスが定義されています。

and とは異なる動作をするArrayorのような組み込みクラスの例を誰かが挙げることができますか?Hasheacheach_entry

4

2 に答える 2

5

@sawaに加えて:

class Alphabet
  include Enumerable
  AZ = ('a'..'z')
  def each
    AZ.each{|char| yield char}
  end
end

p Alphabet.new.each_entry #<Enumerator: #<Alphabet:0x000000028465c8>:each_entry>
p Alphabet.new.each       #in `block in each': no block given (yield) (LocalJumpError)
于 2013-11-07T15:54:07.380 に答える