Module: Enumerable

Defined in:
lib/flex_args/enumerable.rb

Instance Method Summary collapse

Instance Method Details

#reduce_while(init, tag = nil, &block) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/flex_args/enumerable.rb', line 4

def reduce_while(init, tag=nil, &block)
  result = 
    reduce(init) do |i, e|
      case block.(i, e)
      in [:halt, value]
        return value
      in [:cont, value]
        value
      end
    end

  tag ? [tag, result] : result
end