Class: Basic101::PrintStatement
- Defined in:
- lib/basic101/print_statement.rb
Instance Attribute Summary
Attributes inherited from Statement
Instance Method Summary collapse
- #execute(runtime) ⇒ Object
-
#initialize(args = []) ⇒ PrintStatement
constructor
A new instance of PrintStatement.
Methods inherited from Statement
#data_items, #exec, #line_number, #raise_error_with_line_number
Methods included from Identity
Constructor Details
#initialize(args = []) ⇒ PrintStatement
Returns a new instance of PrintStatement.
9 10 11 |
# File 'lib/basic101/print_statement.rb', line 9 def initialize(args = []) @args = args end |
Instance Method Details
#execute(runtime) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 |
# 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 |