Class: ArrayNode
Overview
Array / Data Structure Nodes
Instance Attribute Summary collapse
-
#lhs ⇒ Object
Returns the value of attribute lhs.
-
#rhs ⇒ Object
Returns the value of attribute rhs.
Attributes inherited from Node
Instance Method Summary collapse
- #+(value) ⇒ Object
- #-(value) ⇒ Object
- #[](index) ⇒ Object
- #[]=(index, value) ⇒ Object
- #display_on_new_line ⇒ Object
- #display_on_one_line ⇒ Object
- #each ⇒ Object
- #evaluate ⇒ Object
-
#initialize(lhs, rhs) ⇒ ArrayNode
constructor
A new instance of ArrayNode.
- #size ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(lhs, rhs) ⇒ ArrayNode
Returns a new instance of ArrayNode.
138 139 140 141 142 143 144 145 146 147 148 149 150 |
# File 'lib/nodes/basenodes.rb', line 138 def initialize(lhs, rhs) @lhs, @rhs = lhs, rhs if @rhs == NilClass @value = [@lhs] else result = [@lhs] @rhs.each do |element| result << element end @value = result end end |
Instance Attribute Details
#lhs ⇒ Object
Returns the value of attribute lhs.
136 137 138 |
# File 'lib/nodes/basenodes.rb', line 136 def lhs @lhs end |
#rhs ⇒ Object
Returns the value of attribute rhs.
136 137 138 |
# File 'lib/nodes/basenodes.rb', line 136 def rhs @rhs end |
Instance Method Details
#+(value) ⇒ Object
164 165 166 |
# File 'lib/nodes/basenodes.rb', line 164 def +(value) @value.append(value) end |
#-(value) ⇒ Object
168 169 170 |
# File 'lib/nodes/basenodes.rb', line 168 def -(value) @value.reject { |v| v.evaluate == value } end |
#[](index) ⇒ Object
172 173 174 |
# File 'lib/nodes/basenodes.rb', line 172 def [](index) @value[index] end |
#[]=(index, value) ⇒ Object
176 177 178 |
# File 'lib/nodes/basenodes.rb', line 176 def []=(index, value) @value[index] = value end |
#display_on_new_line ⇒ Object
152 153 154 |
# File 'lib/nodes/basenodes.rb', line 152 def display_on_new_line puts @value end |
#display_on_one_line ⇒ Object
156 157 158 |
# File 'lib/nodes/basenodes.rb', line 156 def display_on_one_line puts @value.join(', ') end |
#each ⇒ Object
184 185 186 187 188 |
# File 'lib/nodes/basenodes.rb', line 184 def each @value.each_with_index do |val, index| yield val, index end end |
#evaluate ⇒ Object
190 191 192 |
# File 'lib/nodes/basenodes.rb', line 190 def evaluate self end |
#size ⇒ Object
180 181 182 |
# File 'lib/nodes/basenodes.rb', line 180 def size @value.size end |
#to_s ⇒ Object
160 161 162 |
# File 'lib/nodes/basenodes.rb', line 160 def to_s @value.join(', ') end |