From: Gary Watson Date: 2006-01-05T00:38:00+09:00 Subject: Re: gets bug? Shea Martin wrote: > > > if ARGV.size > 0 > puts "first arg is #{ARGV[0]}" > end > puts "enter text" > ans = gets > puts "you said #{ans}" > > > Run this code, as ./test.rb. Then run it with an command line arg, like > "./test.rb -x". And you will get an error like this: > > "test.rb:3:in `gets': No such file or directory - -x (Errno::ENOENT)" > > The fix I have found, is to change gets to $stdin.gets. I saw some > traffic on the mailing list archives regarding this, but no resolution. > > Is this expected behaviour? > ruby -v is: ruby 1.8.3 (2005-09-21) [sparc-solaris2.10] > > Thanks, > > ~S I've run into this problem before as well, somebody pointed me to the ri documentation on Kernel#gets, it says the following. Returns the next line from the list of files in +ARGV+, or from standard input if no files are present on the command line. Returns +nil+ at end of file. Hope this helps.