Sha256: b0f705b5f64d96cc4c9522511e9dddbe261542786c651f1fd4bed5972103d254
Contents?: true
Size: 727 Bytes
Versions: 3
Compression:
Stored size: 727 Bytes
Contents
# frozen_string_literal: true require_relative 'statement' module Basic101 class NextStatement < Statement def initialize(reference) @reference = reference end def execute(runtime) for_statement = if @reference.nil? runtime.for_stack.top else runtime.for_stack[@reference] end raise NextWithoutFor unless for_statement for_statement.increment(runtime) if for_statement.done?(runtime) for_statement.delete_from_stack(runtime) else for_statement.goto_following_statement(runtime) end end protected def state @reference end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
basic101-1.0.2 | lib/basic101/next_statement.rb |
basic101-1.0.1 | lib/basic101/next_statement.rb |
basic101-1.0.0 | lib/basic101/next_statement.rb |