class Eqn::Number::SignedNumber

Node class for a signed number.

Public Instance Methods

value(vars = {}) click to toggle source
# File lib/eqn/number.rb, line 22
def value(vars = {})
  first_element = elements.shift
  # If first element is unary minus, negate the following value.
  # Otherwise, simply return the positive value.
  if first_element.is_a?(Terminal::UnaryMinus)
    -elements.shift.value(vars)
  else
    first_element.value(vars)
  end
end