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.
189 190 191 192 193 194 195 196 197 198 199 200 201 |
# File 'lib/nodes/basenodes.rb', line 189 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.
187 188 189 |
# File 'lib/nodes/basenodes.rb', line 187 def lhs @lhs end |
#rhs ⇒ Object
Returns the value of attribute rhs.
187 188 189 |
# File 'lib/nodes/basenodes.rb', line 187 def rhs @rhs end |
Instance Method Details
#+(value) ⇒ Object
215 216 217 218 |
# File 'lib/nodes/basenodes.rb', line 215 def +(value) @value.append(value) self end |
#-(value) ⇒ Object
220 221 222 223 |
# File 'lib/nodes/basenodes.rb', line 220 def -(value) @value = @value.reject { |v| v.evaluate == value } self end |
#[](index) ⇒ Object
225 226 227 |
# File 'lib/nodes/basenodes.rb', line 225 def [](index) @value[index] end |
#[]=(index, value) ⇒ Object
229 230 231 |
# File 'lib/nodes/basenodes.rb', line 229 def []=(index, value) @value[index] = value end |
#display_on_new_line ⇒ Object
203 204 205 |
# File 'lib/nodes/basenodes.rb', line 203 def display_on_new_line puts @value end |
#display_on_one_line ⇒ Object
207 208 209 |
# File 'lib/nodes/basenodes.rb', line 207 def display_on_one_line puts @value.join(', ') end |
#each ⇒ Object
237 238 239 240 241 |
# File 'lib/nodes/basenodes.rb', line 237 def each @value.each_with_index do |val, index| yield val, index end end |
#evaluate ⇒ Object
243 244 245 |
# File 'lib/nodes/basenodes.rb', line 243 def evaluate self end |
#size ⇒ Object
233 234 235 |
# File 'lib/nodes/basenodes.rb', line 233 def size @value.size end |
#to_s ⇒ Object
211 212 213 |
# File 'lib/nodes/basenodes.rb', line 211 def to_s @value.join(', ') end |