From: Farrel Lifson Date: 2007-01-29T19:44:19+09:00 Subject: Re: Newbie Basic Command Interpreter Question in Ruby On 29/01/07, Andrea Maschio wrote: > 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 > 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