Hi all. I’m following the Zed S.'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.
STDIN.read ?
The read method reads data from the standard input, until it reaches the
end of the file. The EOF is produced by pressing Ctrl + D on Unix or
Ctrl +
Z on Windows.
On Sunday 03 February 2013 aref aslani wrote
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
filename = STDIN.gets.chomp
ِYou are right:)
that was the problem…
Thank you a lot Stefano 
Please include short code snippets directly in the E-Mail
instead of using attachments!
The string returned from gets is always terminated by a newline
character that you need to remove:
Thank you:) My problem has been solved!
Am 02.02.2013 23:00, schrieb aref aslani:
Hi all. I’m following the Zed S.'s ruby tutorials.
in ex15 i’ve changed this line
filename = ARGV.first
to
filename = STDIN.gets
Please include short code snippets directly in the E-Mail
instead of using attachments!
The string returned from gets is always terminated by a newline
character that you need to remove:
filename = gets.chomp