Class: Keisan::AST::Cell
- Inherits:
-
Node
- Object
- Node
- Keisan::AST::Cell
show all
- Defined in:
- lib/keisan/ast/cell.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods inherited from Node
#!, #%, #&, #*, #**, #+, #+@, #-, #-@, #/, #<, #<<, #<=, #>, #>=, #>>, #^, #and, #coerce, #contains_a?, #differentiated, #equal, #evaluated, #is_constant?, #not_equal, #or, #replaced, #simplified, #well_defined?, #|, #~
Constructor Details
#initialize(node) ⇒ Cell
Returns a new instance of Cell.
6
7
8
|
# File 'lib/keisan/ast/cell.rb', line 6
def initialize(node)
@node = node
end
|
Instance Attribute Details
#node ⇒ Object
Returns the value of attribute node.
4
5
6
|
# File 'lib/keisan/ast/cell.rb', line 4
def node
@node
end
|
Instance Method Details
#deep_dup ⇒ Object
22
23
24
25
26
27
28
29
|
# File 'lib/keisan/ast/cell.rb', line 22
def deep_dup
dupped = dup
dupped.instance_variable_set(
:@node,
dupped.node.deep_dup
)
dupped
end
|
#differentiate(variable, context = nil) ⇒ Object
60
61
62
|
# File 'lib/keisan/ast/cell.rb', line 60
def differentiate(variable, context = nil)
node.differentiate(variable, context)
end
|
#evaluate(context = nil) ⇒ Object
48
49
50
|
# File 'lib/keisan/ast/cell.rb', line 48
def evaluate(context = nil)
node.evaluate(context)
end
|
#evaluate_assignments(context = nil) ⇒ Object
56
57
58
|
# File 'lib/keisan/ast/cell.rb', line 56
def evaluate_assignments(context = nil)
node.evaluate_assignments(context)
end
|
44
45
46
|
# File 'lib/keisan/ast/cell.rb', line 44
def false?
node.false?
end
|
#freeze ⇒ Object
31
32
33
34
|
# File 'lib/keisan/ast/cell.rb', line 31
def freeze
node.freeze
super
end
|
#replace(variable, replacement) ⇒ Object
64
65
66
|
# File 'lib/keisan/ast/cell.rb', line 64
def replace(variable, replacement)
node.replace(variable, replacement)
end
|
#simplify(context = nil) ⇒ Object
52
53
54
|
# File 'lib/keisan/ast/cell.rb', line 52
def simplify(context = nil)
node.simplify(context)
end
|
#to_cell ⇒ Object
68
69
70
|
# File 'lib/keisan/ast/cell.rb', line 68
def to_cell
self.class.new(node.to_node)
end
|
#to_node ⇒ Object
76
77
78
|
# File 'lib/keisan/ast/cell.rb', line 76
def to_node
node
end
|
#to_s ⇒ Object
72
73
74
|
# File 'lib/keisan/ast/cell.rb', line 72
def to_s
node.to_s
end
|
#traverse(&block) ⇒ Object
18
19
20
|
# File 'lib/keisan/ast/cell.rb', line 18
def traverse(&block)
super(&block) || node.traverse(&block)
end
|
40
41
42
|
# File 'lib/keisan/ast/cell.rb', line 40
def true?
node.true?
end
|
#unbound_functions(context = nil) ⇒ Object
14
15
16
|
# File 'lib/keisan/ast/cell.rb', line 14
def unbound_functions(context = nil)
node.unbound_functions(context)
end
|
#unbound_variables(context = nil) ⇒ Object
10
11
12
|
# File 'lib/keisan/ast/cell.rb', line 10
def unbound_variables(context = nil)
node.unbound_variables(context)
end
|
#value(context = nil) ⇒ Object
36
37
38
|
# File 'lib/keisan/ast/cell.rb', line 36
def value(context = nil)
node.value(context)
end
|