class About_Pos::Enum

Public Class Methods

new(dir, arr) click to toggle source
# File lib/about_pos.rb, line 11
def initialize dir, arr
  @arr = arr
  if dir == :forward
    @real_index = 0
  else
    @real_index = (@arr.size - 1) - 0
  end

  @meta = Meta.new(dir, @real_index, arr)
end

Public Instance Methods

each() { |value, real_index, meta| ... } click to toggle source
# File lib/about_pos.rb, line 22
def each
  return nil if @arr.empty?
  has_next = false
  begin
    result = yield @meta.value, @meta.real_index, @meta
    has_next = @meta.next?
    if has_next
      @meta.next!
    end
  end while has_next
end