7stud2
(7stud --)
2 February 2013 22:00
1
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 `<main>'
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/\ .
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 Sat, Feb 2, 2013 at 2:00 PM, aref aslani <lists@ruby-forum.com> 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 `<main>'
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
···
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 `<main>'
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/\ .
stomar
(stomar)
2 February 2013 22:20
4
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
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
···
Am 02.02.2013 23:00, schrieb aref aslani:
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 `<main>'
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
--
<https://github.com/stomar/> ;
7stud2
(7stud --)
2 February 2013 22:19
5
filename = STDIN.gets.chomp
ِYou are right:)
that was the problem...
Thank you a lot Stefano
···
--
Posted via http://www.ruby-forum.com/\ .
7stud2
(7stud --)
2 February 2013 22:24
6
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!
···
--
Posted via http://www.ruby-forum.com/\ .