Newbie Basic Command Interpreter Question in Ruby


#1

Hello Folks, i’m a newbie who desires to implement a basic command
interpreter written in ruby. Let’s say i want to start a new Thread who
listen to user input

p=Thread.new{
puts "thread started"
loop do
  a=gets.chomp

  exit if (a=="quit\n")
  puts a
end

}

outputs “thread started” and exits

What i’m i doing wrong? Why the tread doesn’t continue looping but
exits?
Sorry for the newbie question, i’m just learning ruby.

Thank you very much for answering

Andrea


#2

On 29/01/07, Andrea M. removed_email_address@domain.invalid wrote:

  puts a

Thank you very much for answering

Andrea

The p thread is started but the main execution thread (which spawned
the p thread) exits the interpreter. You need to add a ‘p.join’ at the
end which will wait for p to finish before continuing.

Farrel