Class: Keisan::Functions::Replace
Instance Attribute Summary
#arity, #name
Instance Method Summary
collapse
#differentiate, #unbound_variables
Constructor Details
Returns a new instance of Replace.
4
5
6
|
# File 'lib/keisan/functions/replace.rb', line 4
def initialize
@name = "replace"
end
|
Instance Method Details
#evaluate(ast_function, context = nil) ⇒ Object
23
24
25
26
|
# File 'lib/keisan/functions/replace.rb', line 23
def evaluate(ast_function, context = nil)
context ||= Context.new
simplify(ast_function, context).evaluate(context)
end
|
#simplify(ast_function, context = nil) ⇒ Object
13
14
15
16
17
18
19
20
21
|
# File 'lib/keisan/functions/replace.rb', line 13
def simplify(ast_function, context = nil)
context ||= Context.new
expression, variable, replacement = expression_variable_replacement(ast_function)
expression = expression.simplify(context)
replacement = replacement.simplify(context)
expression.replace(variable, replacement).simplify(context)
end
|
#value(ast_function, context = nil) ⇒ Object
8
9
10
11
|
# File 'lib/keisan/functions/replace.rb', line 8
def value(ast_function, context = nil)
context ||= Context.new
evaluate(ast_function, context).value(context)
end
|