Please Help I'm new in Ruby -- Input Problem

Hi,

I’m interested to learn this language. I’m using Eclipse with Ruby
plugin. I encountered this problem. I place this code (got from an
internet site):

def addtwo(a, b)
a + b; # return a + b
end

print "Please enter number 1 : ";

val1 = gets;
print "Please enter number 2 : ";
val2 = gets;
print "Answer : " , (val1.to_i + val2.to_i), “\n”;

It actually works! But the this is when I run this, the console doesn’t
show the first print (print "Please enter number 1 : ":wink: it waits for me
to place a number, then another number before it shows the print. See
below:

1
2
Please enter number 1 : Please enter number 2 : Answer : 3

Please help me.
Thank you!
Nolly

Nolly Mejia wrote:

Hi,

I’m interested to learn this language. I’m using Eclipse with Ruby
plugin. I encountered this problem. I place this code (got from an
internet site):

def addtwo(a, b)
a + b; # return a + b
end

print "Please enter number 1 : ";

val1 = gets;
print "Please enter number 2 : ";
val2 = gets;
print "Answer : " , (val1.to_i + val2.to_i), “\n”;

Whatever site this code came from can be considered untrustworthy.
Clearly, whoever wrote it doesn’t know enough about Ruby to know that
it’s considered poor style to put semicolons at the end of lines. And
if they don’t know something that basic, what else are they screwing up?

It actually works! But the this is when I run this, the console doesn’t
show the first print (print "Please enter number 1 : ":wink: it waits for me
to place a number, then another number before it shows the print. See
below:

1
2
Please enter number 1 : Please enter number 2 : Answer : 3

Please help me.

Your console output is probably being buffered by line. Try putting a
\n in the string and see if that solves the problem.

Thank you!
Nolly

Best,
–Â
Marnen Laibow-Koser
http://www.marnen.org
[email protected]

On Sat, 16 Jan 2010, Nolly Mejia wrote:

http://www.marnen.org
Please enter number 1 :
Please enter number 2 :
Answer : 5

I have Final Report on my class, regarding aspiring programming
language. I hope some one can find way.

Try replacing print with puts

It does look as though your output is being buffered. Which is odd.
You may need to add explicit STDOUT.flush after your print statements.

Matt

Matthew K. Williams wrote:

On Sat, 16 Jan 2010, Nolly Mejia wrote:

http://www.marnen.org
Please enter number 1 :
Please enter number 2 :
Answer : 5

I have Final Report on my class, regarding aspiring programming
language. I hope some one can find way.

Try replacing print with puts

It does look as though your output is being buffered. Which is odd.
You may need to add explicit STDOUT.flush after your print statements.

Matt

Hi Matt,

GREAT! It works…thanks for helping me.=D

On Sat, 16 Jan 2010, Nolly Mejia wrote:

GREAT! It works…thanks for helping me.=D
Most welcome. Hope you enjoy your exploration of Ruby!
Matt

Your console output is probably being buffered by line. Try putting a
\n in the string and see if that solves the problem.

Thank you!
Nolly

Best,
–Â
Marnen Laibow-Koser
http://www.marnen.org
[email protected]

Hi Marnen,

Thank you for helping I really appreciate, but I still have the same
problem.
Here’s the output when I placed \n

3
2
Please enter number 1 :
Please enter number 2 :
Answer : 5

I have Final Report on my class, regarding aspiring programming
language. I hope some one can find way.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs