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, #equal, #evaluated, #not_equal, #or, #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
18
19
20
21
22
23
24
25
|
# File 'lib/keisan/ast/cell.rb', line 18
def deep_dup
dupped = dup
dupped.instance_variable_set(
:@node,
dupped.node.deep_dup
)
dupped
end
|
#differentiate(variable, context = nil) ⇒ Object
56
57
58
|
# File 'lib/keisan/ast/cell.rb', line 56
def differentiate(variable, context = nil)
node.differentiate(variable, context)
end
|
#evaluate(context = nil) ⇒ Object
44
45
46
|
# File 'lib/keisan/ast/cell.rb', line 44
def evaluate(context = nil)
node.evaluate(context)
end
|
#evaluate_assignments(context = nil) ⇒ Object
52
53
54
|
# File 'lib/keisan/ast/cell.rb', line 52
def evaluate_assignments(context = nil)
node.evaluate_assignments(context)
end
|
40
41
42
|
# File 'lib/keisan/ast/cell.rb', line 40
def false?
node.false?
end
|
#freeze ⇒ Object
27
28
29
30
|
# File 'lib/keisan/ast/cell.rb', line 27
def freeze
node.freeze
super
end
|
#replace(variable, replacement) ⇒ Object
60
61
62
|
# File 'lib/keisan/ast/cell.rb', line 60
def replace(variable, replacement)
node.replace(variable, replacement)
end
|
#simplify(context = nil) ⇒ Object
48
49
50
|
# File 'lib/keisan/ast/cell.rb', line 48
def simplify(context = nil)
node.simplify(context)
end
|
#to_cell ⇒ Object
64
65
66
|
# File 'lib/keisan/ast/cell.rb', line 64
def to_cell
self.class.new(node.to_cell)
end
|
#to_node ⇒ Object
72
73
74
|
# File 'lib/keisan/ast/cell.rb', line 72
def to_node
node
end
|
#to_s ⇒ Object
68
69
70
|
# File 'lib/keisan/ast/cell.rb', line 68
def to_s
node.to_s
end
|
36
37
38
|
# File 'lib/keisan/ast/cell.rb', line 36
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
32
33
34
|
# File 'lib/keisan/ast/cell.rb', line 32
def value(context = nil)
node.value(context)
end
|