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
- #+(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.
152 153 154 155 156 157 158 159 160 161 162 163 164 |
# File 'lib/nodes/basenodes.rb', line 152 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.
150 151 152 |
# File 'lib/nodes/basenodes.rb', line 150 def lhs @lhs end |
#rhs ⇒ Object
Returns the value of attribute rhs.
150 151 152 |
# File 'lib/nodes/basenodes.rb', line 150 def rhs @rhs end |
Instance Method Details
#+(value) ⇒ Object
178 179 180 |
# File 'lib/nodes/basenodes.rb', line 178 def +(value) @value.append(value) end |
#-(value) ⇒ Object
182 183 184 |
# File 'lib/nodes/basenodes.rb', line 182 def -(value) @value.reject { |v| v.evaluate == value } 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
166 167 168 |
# File 'lib/nodes/basenodes.rb', line 166 def display_on_new_line puts @value end |
#display_on_one_line ⇒ Object
170 171 172 |
# File 'lib/nodes/basenodes.rb', line 170 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
174 175 176 |
# File 'lib/nodes/basenodes.rb', line 174 def to_s @value.join(', ') end |