Class: ArrayNode
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
- #+(index) ⇒ 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
Methods inherited from Node
Constructor Details
#initialize(lhs, rhs) ⇒ ArrayNode
Returns a new instance of ArrayNode.
167 168 169 170 171 172 173 174 175 176 177 178 179 |
# File 'lib/nodes/basenodes.rb', line 167 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.
165 166 167 |
# File 'lib/nodes/basenodes.rb', line 165 def lhs @lhs end |
#rhs ⇒ Object
Returns the value of attribute rhs.
165 166 167 |
# File 'lib/nodes/basenodes.rb', line 165 def rhs @rhs end |
Instance Method Details
#+(index) ⇒ Object
189 190 191 |
# File 'lib/nodes/basenodes.rb', line 189 def +(index) @value.append(index) end |
#[](index) ⇒ Object
193 194 195 |
# File 'lib/nodes/basenodes.rb', line 193 def [](index) @value[index] end |
#[]=(index, value) ⇒ Object
197 198 199 |
# File 'lib/nodes/basenodes.rb', line 197 def []=(index, value) @value[index] = value end |
#display_on_new_line ⇒ Object
181 182 183 |
# File 'lib/nodes/basenodes.rb', line 181 def display_on_new_line puts @value end |
#display_on_one_line ⇒ Object
185 186 187 |
# File 'lib/nodes/basenodes.rb', line 185 def display_on_one_line puts @value.join(', ') end |
#each ⇒ Object
205 206 207 208 209 |
# File 'lib/nodes/basenodes.rb', line 205 def each @value.each_with_index do |val, index| yield val, index end end |
#evaluate ⇒ Object
211 212 213 |
# File 'lib/nodes/basenodes.rb', line 211 def evaluate self end |
#size ⇒ Object
201 202 203 |
# File 'lib/nodes/basenodes.rb', line 201 def size @value.size end |