"print" not showing immediately in output, but "puts" is

Several times I have come across this issue. It seems to be dependent on
the environment, but I'll do a "print 'string'" and it wont show up
UNTIL I do a "puts". Then both strings will show up in the output window
in one shot.

Do you know how I can fix it to work properly?

···

--
Posted via http://www.ruby-forum.com/.

It's your terminal doing line buffering on the output.

Try:
   $stdout.flush = true

Then see how it works for you.

-Rob

Rob Biedenharn http://agileconsultingllc.com
Rob@AgileConsultingLLC.com

···

On Oct 9, 2008, at 3:28 PM, Aryk Grosz wrote:

Several times I have come across this issue. It seems to be dependent on
the environment, but I'll do a "print 'string'" and it wont show up
UNTIL I do a "puts". Then both strings will show up in the output window
in one shot.

Do you know how I can fix it to work properly?

Thanks for the information Rob.

Should I run this line before each "print" command or do I just need to
run it once upon application startup?

Rob Biedenharn wrote:

···

On Oct 9, 2008, at 3:28 PM, Aryk Grosz wrote:

Several times I have come across this issue. It seems to be
dependent on
the environment, but I'll do a "print 'string'" and it wont show up
UNTIL I do a "puts". Then both strings will show up in the output
window
in one shot.

Do you know how I can fix it to work properly?

It's your terminal doing line buffering on the output.

Try:
   $stdout.flush = true

Then see how it works for you.

-Rob

Rob Biedenharn http://agileconsultingllc.com
Rob@AgileConsultingLLC.com

--
Posted via http://www.ruby-forum.com/\.

STDOUT.flush needs to be put after output, but before a gets call, for
example... however, STDOUT.sync=true can be done just once, and it sets the
output to be flushed each time there is output.
Warmest Regards,

···

On Thu, Oct 9, 2008 at 7:33 PM, Aryk Grosz <tennisbum2002@hotmail.com>wrote:

Thanks for the information Rob.

Should I run this line before each "print" command or do I just need to
run it once upon application startup?

great, that seems to do it.

···

--
Posted via http://www.ruby-forum.com/.