Module: EnumerableOperator

Defined in:
lib/agents/sets/enum/op.rb

Defined Under Namespace

Classes: Diagonal, Product, Sum

Class Method Summary collapse

Class Method Details

.diagonal(*factors, &block) ⇒ Object



96
97
98
99
100
101
102
# File 'lib/agents/sets/enum/op.rb', line 96

def diagonal(*factors, &block)
  if block
    Diagonal.new(*factors).each(&block)
  else
    Diagonal.new(*factors)
  end
end

.product(*factors, &block) ⇒ Object



77
78
79
80
81
82
83
# File 'lib/agents/sets/enum/op.rb', line 77

def product(*factors, &block)
  if block
    Product.new(*factors).each(&block)
  else
    Product.new(*factors)
  end
end

.sum(*summands, &block) ⇒ Object



86
87
88
89
90
91
92
# File 'lib/agents/sets/enum/op.rb', line 86

def sum(*summands, &block)
  if block
    Sum.new(*summands).each(&block)
  else
    Sum.new(*summands)
  end
end