# Gets does not block (STDOUT.flush issue?)

**URL:** <https://www.ruby-forum.com/t/gets-does-not-block-stdout-flush-issue/105670>\
**Category:** Ruby\
**Created:** [June 1, 2007, 6:59am UTC](https://www.ruby-forum.com/t/gets-does-not-block-stdout-flush-issue/105670 "2007-06-01T06:59:26Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ivan\_B](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/f17d59/32.png) [@Ivan\_B](https://www.ruby-forum.com/u/Ivan_B)\
**Post date:** [June 1, 2007, 6:59am UTC](https://www.ruby-forum.com/t/gets-does-not-block-stdout-flush-issue/105670/1 "2007-06-01T06:59:26Z")

</div>

File: test.rb

STDOUT.sync=true

puts “File exists. Are you sure?”  
STDOUT.flush  
answer=gets.chomp  
puts answer

executing this file with any parameters (e.g. ./test.rb bla) yields  
this:

[:~/ruby]$ ./test.rb bla  
File exists. Are you sure?  
./test.rb:9:in `gets’: No such file or directory - “bla” (Errno::ENOENT)  
from ./test.rb:9  
[:~/ruby]$

What gives?!

---

<div class="post-metadata">

**Author:** ![Ivan\_B](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/f17d59/32.png) [@Ivan\_B](https://www.ruby-forum.com/u/Ivan_B)\
**Post date:** [June 1, 2007, 7:35am UTC](https://www.ruby-forum.com/t/gets-does-not-block-stdout-flush-issue/105670/2 "2007-06-01T07:35:54Z")

</div>

On Fri, Jun 01, 2007 at 01:59:33PM +0900, Ivan B wrote:

> [:~/ruby]$ ./test.rb bla  
> File exists. Are you sure?  
> ./test.rb:9:in `gets’: No such file or directory - “bla” (Errno::ENOENT)  
> from ./test.rb:9  
> [:~/ruby]$
> 
> What gives?!

You need:

answer=$stdin.gets.chomp

Ohterwise, gets tries to read from file(s) whose name(s) are given on  
the  
command line.
