Forum: Ruby Newbe - strange behavior of print

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Be2f59c898a660b444cc3bb35200ca03?d=identicon&s=25 caof2005 (Guest)
on 2007-04-11 09:21
(Received via mailing list)
Hello folks,  this is the scenario:
I tried to run the following code in EasyEclipse for Ruby IDE and
SciTE on WinXP
Both has the same behavior.

def main
  print "Enter the number of employees: "
  numEmp = gets
  puts "The number of employees is:= " + numEmp.to_s
end

main

====================

The output is nothing ( it appears that the program hangs-on for a
while ), then if go to the console and I push the ENTER key it appears
the "Enter the number of employees: " and suddenly the program
terminates.

What I'm doing wrong?, I tried to follow the instructions from several
books ( David Black's "Ruby for Rails" and Dave Thomas "Programming
Ruby" ) and both indicates that the kind of code that I wrote should
work.

Any help would be very appreciated.
Regards
Ac0085dae0703db56ad7f8cb9e1798ba?d=identicon&s=25 Phillip Gawlowski (Guest)
on 2007-04-11 09:25
(Received via mailing list)
caof2005 wrote:
>
> books ( David Black's "Ruby for Rails" and Dave Thomas "Programming
> Ruby" ) and both indicates that the kind of code that I wrote should
> work.
>

Have you, per chance, tried to invoke your script from the command line?
I know that SciTE needs to be patched in one way or another to allow for
input. I can't judge Eclipse in that regard, as I don't use it.

--
Phillip "CynicalRyan" Gawlowski
http://cynicalryan.110mb.com/

Rule of Open-Source Programming #9:

Give me refactoring or give me death!
Be2f59c898a660b444cc3bb35200ca03?d=identicon&s=25 caof2005 (Guest)
on 2007-04-11 11:31
(Received via mailing list)
On Apr 11, 2:24 am, Phillip Gawlowski <cmdjackr...@googlemail.com>
wrote:
> > end
> > What I'm doing wrong?, I tried to follow the instructions from several
>
> Rule of Open-Source Programming #9:
>
> Give me refactoring or give me death!

Phillip:

Yes I tried from within irb... and it works perfectly, however when I
use either SciTE or EasyEclipse the behavior is awkward.

Regards
Carlos
94cc3e46cfc5bc361e409e2e884ecfa4?d=identicon&s=25 Drew Olson (dfg59)
on 2007-04-11 23:43
> Phillip:
>
> Yes I tried from within irb... and it works perfectly, however when I
> use either SciTE or EasyEclipse the behavior is awkward.
>
> Regards
> Carlos

Carlos -

I can't speak to SciTE, but Eclipse (specifically with RDT) has an issue
with the syncing of input/output.

See the first question at
http://rubyeclipse.sourceforge.net/faq.rdt.html for information about
resolving the issue. Or just run from the command line.
Be2f59c898a660b444cc3bb35200ca03?d=identicon&s=25 caof2005 (Guest)
on 2007-09-25 23:07
(Received via mailing list)
On Apr 11, 3:36 am, Björn Paetzel <n...@kolrabi.de> wrote:
> >    puts "The number of employees is:= " + numEmp.to_s
> > end
>
> That should help. :)

Bjorn:

Thanks it worked great!
However is it possible you can explain me in general terms why this
behavior happens?
I mean, besides trying in EasyEclipse and SciTE I tried the same code
in irb, and surprisingly it works perfectly (no need to flush)!

Regards
F0afd024e17c0c4753aa8d618ba9bb0f?d=identicon&s=25 Marcin Raczkowski (Guest)
on 2007-09-25 23:10
(Received via mailing list)
On Wednesday 11 April 2007 09:25, caof2005 wrote:
> > >    puts "The number of employees is:= " + numEmp.to_s
> in irb, and surprisingly it works perfectly (no need to flush)!
>
> Regards

Irb have Readline support and also automatically flushes everything -
just in
case :] by deafault print don't flush - if you want flushing - use puts
This topic is locked and can not be replied to.