Class: Keisan::Functions::Let

Inherits:
Keisan::Function show all
Defined in:
lib/keisan/functions/let.rb

Instance Attribute Summary

Attributes inherited from Keisan::Function

#arity, #name

Instance Method Summary collapse

Methods inherited from Keisan::Function

#differentiate, #unbound_variables

Constructor Details

#initializeLet

Returns a new instance of Let.



4
5
6
# File 'lib/keisan/functions/let.rb', line 4

def initialize
  super("let", ::Range.new(1,2))
end

Instance Method Details

#evaluate(ast_function, context = nil) ⇒ Object



12
13
14
15
# File 'lib/keisan/functions/let.rb', line 12

def evaluate(ast_function, context = nil)
  validate_arguments!(ast_function.children.count)
  assignment(ast_function).evaluate(context)
end

#simplify(ast_function, context = nil) ⇒ Object



17
18
19
# File 'lib/keisan/functions/let.rb', line 17

def simplify(ast_function, context = nil)
  evaluate(ast_function, context)
end

#value(ast_function, context = nil) ⇒ Object



8
9
10
# File 'lib/keisan/functions/let.rb', line 8

def value(ast_function, context = nil)
  evaluate(ast_function, context)
end