From: Stefano Crocco Date: 2013-02-03T07:14:36+09:00 Subject: Re: Open file that its name given by STDIN.gets On Sunday 03 February 2013 aref aslani wrote > Hi all. I'm following the Zed Shaw's ruby tutorials. > in ex15 i've changed this line > > filename = ARGV.first > > to > > filename = STDIN.gets > > and this is the command line error: > > → ruby test.rb > test.rb > > > test.rb:9:in `initialize': No such file or directory - aref > > (Errno::ENOENT) > > from test.rb:9:in `open' > from test.rb:9:in `
' > > what is the problem? > P.S. the ruby file is attached. > > Attachments: > http://www.ruby-forum.com/attachment/8102/Screen_Shot_1391-11-15_at_1.31.56_ > AM.png > > > -- > Posted via http://www.ruby-forum.com/. gets returns a string with a trailing newline. This means that, if you enter test as your file name, the variable filename will contain the string "test\n". You can use String#chomp to remove it: filename = STDIN.gets.chomp I hope this helps Stefano