Module: Arithmetic

Defined in:
lib/arithmetic.rb,
lib/arithmetic/nodes.rb,
lib/arithmetic/parser.rb,
lib/arithmetic/version.rb,
lib/arithmetic/operators.rb,
lib/arithmetic/expression.rb

Defined Under Namespace

Modules: Operators Classes: Expression, InvalidExpression, OperandNode, Operator, OperatorNode, Parser, Tokenizer

Constant Summary collapse

VERSION =
"0.1.3"

Class Method Summary collapse

Class Method Details

.is_a_number?(token) ⇒ Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/arithmetic.rb', line 16

def self.is_a_number?(token)
  Arithmetic::Parser.is_a_number?(token)
end

.parse(expression) ⇒ Object

make lazy?



9
10
11
12
13
14
# File 'lib/arithmetic.rb', line 9

def self.parse(expression)
  expression = expression.to_s.strip
  raise Arithmetic::InvalidExpression if expression.empty?

  Expression.new(Parser.new(expression).parse)
end