# File lib/date.rb, line 983
  def step(limit, step)  # :yield: date
    da = self
    op = [:-,:<=,:>=][step<=>0]
    while da.__send__(op, limit)
      yield da
      da += step
    end
    self
  end