class Basic101::PrintStatement

Public Class Methods

new(args = []) click to toggle source
# File lib/basic101/print_statement.rb, line 9
def initialize(args = [])
  @args = args
end

Public Instance Methods

execute(runtime) click to toggle source
# File lib/basic101/print_statement.rb, line 13
def execute(runtime)
  if @args.empty?
    runtime.output.print "\n"
  else
    arg_values = @args.map do |arg|
      arg.eval(runtime)
    end
    arg_values.each do |value| 
     value.print_string runtime.output
    end
    arg_values.last.print_new_line runtime.output
  end
end

Protected Instance Methods

state() click to toggle source
Calls superclass method
# File lib/basic101/print_statement.rb, line 29
def state
  super + [@args]
end