class EleetScript::WhileNode

Public Instance Methods

eval(context) click to toggle source
# File lib/lang/interpreter.rb, line 427
def eval(context)
  val = condition.eval(context)
  ret = nil
  while val.ruby_value
    ret = body.eval(context)
    if body.returnable? && body.returned?
      body.reset_returned
      returned
      return ret
    elsif body.nextable? && body.nexted?
      body.reset_nexted
      next
    end
    val = condition.eval(context)
  end
  ret || context.es_nil
end