class Basic101::OnGotoStatement

Attributes

next_statement[W]

Public Class Methods

new(expression, line_numbers) click to toggle source
# File lib/basic101/on_goto_statement.rb, line 11
def initialize(expression, line_numbers)
  @expression = expression
  @line_numbers = line_numbers
end

Public Instance Methods

execute(runtime) click to toggle source
# File lib/basic101/on_goto_statement.rb, line 16
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 Instance Methods

state() click to toggle source
# File lib/basic101/on_goto_statement.rb, line 25
def state
  [@expression, @line_numbers]
end