Method: When::Parts::Enumerator#succ
- Defined in:
- lib/when_exe/parts/enumerator.rb
#succ ⇒ Comparable
Note:
次の要素がない場合 rewind や、StopIteration例外発生は行わない
次の要素を取り出す
207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 |
# File 'lib/when_exe/parts/enumerator.rb', line 207 def succ value = @current if (@count_limit.kind_of?(Numeric) && @count >= @count_limit) @current = nil else loop do @current = _succ break unless (@current) next if (@current == :next) @current = GeometricComplex.new(@current, @duration) if @duration next if _exclude(@current) case @direction when :reverse next if (@current > @first) @current = nil if (@last && @current < @last) break else next if (@current < @first) @current = nil if (@last && @current > @last) break end end @count += 1 _exclude(@current) if (@current) end return value end |