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.
150 151 152 153 154 155 156 157 158 159 160 161 162 |
# File 'lib/nodes/basenodes.rb', line 150 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.
148 149 150 |
# File 'lib/nodes/basenodes.rb', line 148 def lhs @lhs end |
#rhs ⇒ Object
Returns the value of attribute rhs.
148 149 150 |
# File 'lib/nodes/basenodes.rb', line 148 def rhs @rhs end |
Instance Method Details
#+(value) ⇒ Object
176 177 178 179 |
# File 'lib/nodes/basenodes.rb', line 176 def +(value) @value.append(value) self end |
#-(value) ⇒ Object
181 182 183 184 |
# File 'lib/nodes/basenodes.rb', line 181 def -(value) @value = @value.reject { |v| v.evaluate == value } self end |
#[](index) ⇒ Object
186 187 188 |
# File 'lib/nodes/basenodes.rb', line 186 def [](index) @value[index] end |
#[]=(index, value) ⇒ Object
190 191 192 |
# File 'lib/nodes/basenodes.rb', line 190 def []=(index, value) @value[index] = value end |
#display_on_new_line ⇒ Object
164 165 166 |
# File 'lib/nodes/basenodes.rb', line 164 def display_on_new_line puts @value end |
#display_on_one_line ⇒ Object
168 169 170 |
# File 'lib/nodes/basenodes.rb', line 168 def display_on_one_line puts @value.join(', ') end |
#each ⇒ Object
198 199 200 201 202 |
# File 'lib/nodes/basenodes.rb', line 198 def each @value.each_with_index do |val, index| yield val, index end end |
#evaluate ⇒ Object
204 205 206 |
# File 'lib/nodes/basenodes.rb', line 204 def evaluate self end |
#size ⇒ Object
194 195 196 |
# File 'lib/nodes/basenodes.rb', line 194 def size @value.size end |
#to_s ⇒ Object
172 173 174 |
# File 'lib/nodes/basenodes.rb', line 172 def to_s @value.join(', ') end |