Class: Lucio::Operator::Subtraction

Inherits:
Function
  • Object
show all
Defined in:
lib/lucio/operators/subtraction.rb

Instance Method Summary collapse

Methods inherited from Function

#initialize

Constructor Details

This class inherits a constructor from Lucio::Operator::Function

Instance Method Details

#execute(lexicon, *items) ⇒ Object



6
7
8
9
10
11
12
13
14
# File 'lib/lucio/operators/subtraction.rb', line 6

def execute(lexicon, *items)
  p lexicon, items
  if items.size == 0
    0
  else
    head, tail = Lucio.behead(items)
    tail.empty? ? (head * -1) : tail.inject(head) {|subtraction, item| subtraction -= item }
  end
end