Sha256: c63788878ecd2398519bd8a620da097021e71af3dcb1ff9031b0a518c2ebbf4b
Contents?: true
Size: 517 Bytes
Versions: 3
Compression:
Stored size: 517 Bytes
Contents
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-0.4.0 | lib/basic101/on_goto_statement.rb |
basic101-0.2.0 | lib/basic101/on_goto_statement.rb |
basic101-0.1.0 | lib/basic101/on_goto_statement.rb |