bodikp
January 16, 2007, 6:23pm
#1
Hello,
I’m trying to create a simple editing template for myself, just some
code that I can use for future editing needs, where I open a file,
change stuff, and then save the file. I created this simple little
script, but, it doesn’t work when I run it. It complains about line 3. I
get an exception with “wrong number of arguments (0 for 1).” But, when I
do this script, line for line, in IRB, I have no problems.
Dir.chdir(“C:/documents and settings/pb4072/my documents/scripts/ruby”)
contents = File.read{“test1.txt”}
#The file is just a bunch of repeated “The quick brown fox…” phrases.
contents.gsub!(/fox/, “horse”)
File.open(“test2.txt”, “w”) { |f| f.print contents }
Thanks,
Peter
bodikp
January 16, 2007, 6:30pm
#2
On Jan 16, 2007, at 11:24 AM, Peter B. wrote:
contents = File.read{“test1.txt”}
That’s a typo. You want (…) instead of {…}.
James Edward G. II
bodikp
January 16, 2007, 6:39pm
#3
James G. wrote:
On Jan 16, 2007, at 11:24 AM, Peter B. wrote:
contents = File.read{“test1.txt”}
That’s a typo. You want (…) instead of {…}.
James Edward G. II
Duh, sorry James, but, I don’t see what you mean. I don’t have any (…)
data in there. The test file I made is named “test1.txt.”)
bodikp
January 16, 2007, 7:01pm
#4
On Jan 16, 2007, at 11:39 AM, Peter B. wrote:
(…)
data in there. The test file I made is named “test1.txt.”)
The correct line of code is:
contents = File.read(“test1.txt”)
James Edward G. II
bodikp
January 16, 2007, 8:01pm
#5
On 1/16/07, James Edward G. II [email protected] wrote:
James Edward G. II
Duh, sorry James, but, I don’t see what you mean. I don’t have any
(…)
data in there. The test file I made is named “test1.txt.”)
You need to pass File.read a simple method argument, which goes inside
parentheses, you don’t need a block.
bodikp
January 16, 2007, 8:20pm
#6
On 1/16/07, Peter B. [email protected] wrote:
You need to pass File.read a simple method argument, which goes inside
parentheses, you don’t need a block.
I don’t understand. My line says this:
contents = File.read{“test1.txt”}
I’m using parentheses, no block. I’ve done this in a number of other
scripts, and, they work fine.
Those aren’t parentheses, they’re braces, which means you’re passing a
block
to it.
You have to use ( instead of { .
contents= File.read(“test1.txt”)
bodikp
January 16, 2007, 8:07pm
#7
Tamreen Khan wrote:
On 1/16/07, James Edward G. II [email protected] wrote:
James Edward G. II
Duh, sorry James, but, I don’t see what you mean. I don’t have any
(…)
data in there. The test file I made is named “test1.txt.”)
You need to pass File.read a simple method argument, which goes inside
parentheses, you don’t need a block.
I don’t understand. My line says this:
contents = File.read{“test1.txt”}
I’m using parentheses, no block. I’ve done this in a number of other
scripts, and, they work fine.
bodikp
January 16, 2007, 8:23pm
#8
Those aren’t parentheses, they’re braces, which means you’re passing a
block
to it.
You have to use ( instead of { .
contents= File.read(“test1.txt”)
Yes, I’m an idiot. Thank you very much. I need really big glasses.