[LRUG] Newbie-advice for Rio?
Tom Armitage
tom at infovore.org
Fri Mar 17 02:34:06 PST 2006
So I've been hunting through Google for some advice on this and had no avail,
and I'm sure somebody here must have used Rio.
In a nutshell: I'm trying to iterate through a directory called "dummy" and all
subdirectories, replacing instances of the string "#foo#" with "bar". Writing
this in Ruby, it seemed that Rio was the best way to go.
So far, I've got this :
rio('dummy').all.files.skip(/^\./).do |eachfile|
# blah
end
which works OK - iterates through all files in directory and recursively through
subdirectories, and leaves out the dot-files like .DS_Store.
Fine.
However, I'm having no luck getting gsub to work on eachfile. What's the next
part of the operation? What am I doing wrong?
I tried (in place of "# blah~ above)
eachfile < eachfile.gsub('#foo#', 'bar')
but that essentially just emptied each file in turn. Do I need to be creating
copies of each file and deleting the original, or have I missed a trick?
Also, I tried appending the altered file to the end of the original (using << )
and found it didn't perform any gsub - which is also weird. Any idea what might
be calling that?
Apologies if this isn't appropriate for the list, but I thought it'd be easier
to turn here than to ruby-talk or comp.lang.ruby
Also, apologies if it's really bloody obvious. But any help would be greatly
appreciated.
t.
More information about the Chat
mailing list