if (ARGV[0] == ‘add’)
puts ‘input something’
gt = gets
puts gt
else
puts ‘fail’
end
If I try to execute above program am getting below error:
C:\Documents and Settings\sunilc\Desktop>ruby test.rb ‘add’
input something
test.rb:3:in `gets’: No such file or directory - add (Errno::ENOENT)
from test.rb:3
C:\Documents and Settings\sunilc\Desktop>ruby test.rb ‘add’
input something
test.rb:3:in `gets’: No such file or directory - add (Errno::ENOENT)
from test.rb:3
Please let me know why is this error coming?
Kernel#gets tries to read from the file specified by the command line
arguments if there are any. This is documented (and in some cases
useful).
If you don’t want this behaviour use IO#gets directly (as in:
STDIN.gets).