wybo
December 1, 2005, 9:42pm
1
according to the rio-docs I would expect it to be possible to edit a
file
on-the-fly; for example, I tried to make a copy of /etc/passwd with my
own
name (wybo) replaced with XXXX:
rio(’/etc/passwd’).gsub(/wybo/,‘XXXX’) > rio(‘new’)
but the resulting file “new” is an exact copy of /etc/passwd.
What am I doing wrong?
wybo
December 2, 2005, 8:15am
2
Wybo D. wrote:
according to the rio-docs I would expect it to be possible to edit a file
on-the-fly; for example, I tried to make a copy of /etc/passwd with my own
name (wybo) replaced with XXXX:
rio(’/etc/passwd’).gsub(/wybo/,‘XXXX’) > rio(‘new’)
but the resulting file “new” is an exact copy of /etc/passwd.
What am I doing wrong?
You’re not reading the file. Try
rio(’/etc/passwd’).read.gsub(/wybo/,‘XXXX’) > rio(‘new’)
Perhaps there’s a better suggestion?
Gavin
wybo
December 2, 2005, 1:44pm
3
Wybo D. wrote:
Create a new Rio referencing the result of applying String#sub to the
value returned by Rio#to_s. So:
Now you’ve just gotta double check what Rio#to_s does
Gavin
wybo
December 2, 2005, 9:44am
4
On Fri, 2 Dec 2005, Gavin S. wrote:
You’re not reading the file. Try
rio(’/etc/passwd’).read.gsub(/wybo/,‘XXXX’) > rio(‘new’)
that helped indeed, thanks, but is it not in contradiction to rio’s
description of sub?:
sub(re,string)
Create a new Rio referencing the result of applying String#sub to the
value returned by Rio#to_s. So:
ario.sub(re,string)
is equivelent to
rio(ario.to_s.sub(re,string))