Class: Basic101::InputStatement

Inherits:
Statement show all
Defined in:
lib/basic101/input_statement.rb

Instance Attribute Summary

Attributes inherited from Statement

#index, #line

Instance Method Summary collapse

Methods inherited from Statement

#data_items, #exec, #line_number, #raise_error_with_line_number

Methods included from Identity

#==

Constructor Details

#initialize(prompt, prompt_delimeter, references) ⇒ InputStatement

Returns a new instance of InputStatement.



9
10
11
12
13
# File 'lib/basic101/input_statement.rb', line 9

def initialize(prompt, prompt_delimeter, references)
  @prompt = prompt
  @prompt_delimeter = prompt_delimeter
  @references = references
end

Instance Method Details

#execute(runtime) ⇒ Object



15
16
17
18
19
20
21
22
23
# File 'lib/basic101/input_statement.rb', line 15

def execute(runtime)
  begin
    print_prompt(runtime)
    read_references(runtime)
  rescue InputError => e
    runtime.output.puts "#{e}, try again"
    retry
  end
end