From: William James Date: 2008-09-25T08:54:52+09:00 Subject: Re: Strange ruby problem On Sep 24, 9:18 am, "christofore...@gmail.com" wrote: > So i've cut the program down to about 4 lines to give the idea of > whats going on: > > num = ARGV[0] > num2 = ARGV[1] > puts " #{num} #{num2} \n" > line = gets > > if i give the program some input from the command line it fails and > sais " gets: No such file or directory -1" > yet if i supply no input the program goes straight to gets. This seems > fairly strange to me. Though when I did this: > > num = ARGV[0] > num2 = ARGV[1] > puts " #{num} #{num2} \n" > STDOUT.flush > line = STDIN.gets > > everything works normal. Why is this and whats going on? Thanks in > advance > > Sincerely, > Chris Dancy Arguments on the command line are assumed to be files to be read by "gets". E:\>echo First line of file > temp.txt E:\>ruby -e "p gets" temp.txt "First line of file \n" Correct programs: num = ARGV.shift num2 = ARGV.shift puts " #{num} #{num2}" line = gets num = ARGV[0] num2 = ARGV[1] puts " #{num} #{num2}" line = $stdin.gets