Sha256: 1c761cfc5271f2904e9ff4a038f51d047cf670cd84f5a8da94786310672ce85d
Contents?: true
Size: 548 Bytes
Versions: 3
Compression:
Stored size: 548 Bytes
Contents
# frozen_string_literal: true require_relative 'statement' module Basic101 class OnGotoStatement < Statement attr_writer :next_statement def initialize(expression, line_numbers) @expression = expression @line_numbers = line_numbers end def execute(runtime) index = @expression.eval(runtime).to_i - 1 if (0...@line_numbers.size).include?(index) runtime.goto_line(@line_numbers[index].to_i) end end protected def state [@expression, @line_numbers] end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
basic101-1.0.2 | lib/basic101/on_goto_statement.rb |
basic101-1.0.1 | lib/basic101/on_goto_statement.rb |
basic101-1.0.0 | lib/basic101/on_goto_statement.rb |