Sha256: 6c6bb7d28fed3c940f55bbd1ee43dae09ba21bd15a8cc9cadd121384dc4be78d
Contents?: true
Size: 936 Bytes
Versions: 3
Compression:
Stored size: 936 Bytes
Contents
require_relative 'statement' module Basic101 class InputStatement < Statement def initialize(prompt, prompt_delimeter, references) @prompt = prompt @prompt_delimeter = prompt_delimeter @references = references end def execute(runtime) begin print_prompt(runtime) read_references(runtime) rescue InputError => e runtime.output.puts "#{e}, try again" retry end end protected def state [@prompt, @prompt_delimeter, @references] end def print_prompt(runtime) if @prompt @prompt.print_string runtime.output end @prompt_delimeter.print(runtime.output) end def read_references(runtime) input_reader = InputReader.new(runtime.input) @references.each do |reference| value = reference.input(input_reader) reference.assign(runtime, value) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
basic101-0.4.0 | lib/basic101/input_statement.rb |
basic101-0.2.0 | lib/basic101/input_statement.rb |
basic101-0.1.0 | lib/basic101/input_statement.rb |