Parent

Methods

Array::Recursor

Public Instance Methods

each(&block) click to toggle source

Recursively iterate over the Array’s elements. If an element is an Array or responds to # then it will be itereated over as well.

    # File lib/core/facets/array/recursive.rb, line 44
44:     def each(&block)
45:       if block_given?
46:         @enum.each do |e|
47:           if Array === e || e.respond_to?(:to_ary)
48:             e.to_ary.recursive.each(&block)
49:           else
50:             block.call(e)
51:           end
52:         end
53:       else
54:         to_enum(:each)
55:       end
56:     end
map(&block) click to toggle source

Returns a new array created by traversing the array and its sub-arrays, executing the given block on the elements.

  h = ["A", "B", ["X", "Y"]]

  g = h.recursive.map{ |e| e.downcase }

  g = ["a", "b", ["x", "y"]]

CREDIT: Trans

    # File lib/core/facets/array/recursive.rb, line 69
69:     def map(&block)
70:       if block_given?
71:         @enum.map do |e|
72:           if Array === e || e.respond_to?(:to_ary)
73:             e.to_ary.recursive.map(&block)
74:           else
75:             block.call(e)
76:           end
77:         end
78:       else
79:         to_enum(:map)
80:       end
81:     end
map!(&block) click to toggle source

Like #, but will change the array in place.

    # File lib/core/facets/array/recursive.rb, line 85
85:     def map!(&block)
86:       replace(map(&block))
87:     end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.