Parent

Namespace

Enumerator

Public Class Methods

new(*args, &block) click to toggle source

Provides the ruby-1.9 block form of Enumerator, where you can write:

   obj = Enumerator.new do |yielder|
      .. do stuff
      yielder.yield data      # or: yielder << data
      .. etc
   end

When obj.each is called, the block is run once. It should call yielder.yield with each item it wishes to generate.

Example:

  fib = Enumerator.new { |y|
    a = b = 1
    loop {   
      y << a
      a, b = b, a + b
    }
  }  

  assert_equal [1, 1, 2, 3, 5, 8, 13, 21, 34, 55], fib.take(10)
    # File lib/core/facets/enumerator.rb, line 33
33:     def initialize(*args, &block)
34:       if block_given?
35:         @body = block
36:         old_initialize(self, :_start)
37:       else
38:         old_initialize(*args)
39:       end
40:     end
Also aliased as: old_initialize

Public Instance Methods

fx() click to toggle source
    # File lib/core/facets/enumerator/fx.rb, line 13
13:   def fx
14:     Functor.new do |op, *a|
15:       each{ |e| e.send(op, *a) }
16:     end
17:   end
old_initialize(*args, &block) click to toggle source
Alias for: new
to_h(mode=nil) click to toggle source

Convert an Enumerator object into a hash. This is equivalent to Array#to_h.

  e1 = [[1,:a],[2,:b],[3,:c]].to_enum
  e1.to_h #=> { 1=>:a, 2=>:b, 3=>:c }

  e2 = [1,2,3,4,5].to_enum
  e2.to_h  #=> {5=>nil, 1=>2, 3=>4}

  e3 = [1,2,1,3,1,5].to_enum
  e3.to_h #=> {1=>5}

CREDIT: Sandor Szücs

     # File lib/core/facets/to_hash.rb, line 285
285:   def to_h(mode=nil)
286:     to_a.to_h(mode)
287:   end
to_h_assoc() click to toggle source

This is equivalent to Array#to_h_assoc.

     # File lib/core/facets/to_hash.rb, line 309
309:   def to_h_assoc
310:     to_a.to_h_assoc
311:   end
to_h_auto() click to toggle source

This is equivalent to Array#to_h_auto.

     # File lib/core/facets/to_hash.rb, line 291
291:   def to_h_auto
292:     to_a.to_h_auto
293:   end
to_h_flat() click to toggle source

This is equivalent to Array#to_h_flat.

     # File lib/core/facets/to_hash.rb, line 303
303:   def to_h_flat
304:     to_a.to_h_flat
305:   end
to_h_multi() click to toggle source

This is equivalent to Array#to_h_multi.

     # File lib/core/facets/to_hash.rb, line 315
315:   def to_h_multi
316:     to_a.to_h_multi
317:   end
to_h_splat() click to toggle source

This is equivalent to Array#to_h_splat.

     # File lib/core/facets/to_hash.rb, line 297
297:   def to_h_splat
298:     to_a.to_h_splat
299:   end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.