DZone Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world
How To Change A Character In All Documents (4)
Lets define a write() method in File class :
class File
def self.write(name)
data = yield
self.open(name,"w") { |f| f.write( data ) }
end
end
Now code with Dir[exp] , File.read(), File.write() :
Dir[ARGV[0]].each() do |file_name|
file_content = File.read(file_name)
content_mofified = file_content.gsub(/a/,"@")
File.write(file_name) { content_mofified }
end
Ruby -is- Block and meta-programming without this, it's a python/php/... Or, more functional :
Dir[ARGV[0]].each() { |file_name|
File.write(file_name) { File.read(file_name).gsub(/a/,"@") }
}
This is the best form, because it don't use local variable
==> provable
==> threadable without danger






Comments
Snippets Manager replied on Fri, 2010/10/01 - 6:57am