Sha256: 53b33b79906924962428850b3ae12d794c78ec48490a40ade8c09aff704e883b

Contents?: true

Size: 471 Bytes

Versions: 1

Compression:

Stored size: 471 Bytes

Contents

unless Enumerable.method_defined? :sproduct
  module Enumerable
    # Multiplies the elements of an enum by invoking their * method.
    # Most useful for multiplying numbers. sproduct stands for standard product,
    # since Ruby defines Array#product as a Carthesian product.
    #
    # @example
    #   [1, 2, 3, 4].sproduct #=> 6
    #   [].sproduct #=> nil
    #   [].sproduct(1) #=> 1
    def sproduct(default = nil)
      reduce(&:*) || default
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
powerpack-0.0.6 lib/powerpack/enumerable/sproduct.rb