class Whiler
  def initialize(&cond)
    @cond = cond
  end

  def do
    while @cond.call
      yield
    end
  end
end

def _while(&cond)
  Whiler.new &cond
end

x = 0
_while{ x < 3 }.do{ x+=1; p x }
