Sha256: 4359c27012a621bb618943247ba2e4333c415256977cd1f77fd4cba6ccaf6909

Contents?: true

Size: 463 Bytes

Versions: 1

Compression:

Stored size: 463 Bytes

Contents

module Yogo
  module Support
    module Proc
      module Compose
        def compose(g)
          raise ArgumentError, "arity count mismatch" unless arity == g.arity
          lambda{|*args| self[*g[*args]] }
        end
  
        def *(x)
          if Integer===x
            c = []
            x.times{|i| c << call(i)}
            c
          else
            compose(x)
          end
        end
      end # Compose
    end # Proc
  end # Support
end # Yogo

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
yogo-support-0.1.0 lib/yogo/support/proc/compose.rb