From: Eric Hodel Date: 2006-12-28T14:37:50+09:00 Subject: Re: Need help massaging some strings On Dec 27, 2006, at 21:21, Taylor Strait wrote: > As a Rails developer, I've been learning Ruby on a need-to-know basis. > However, I now need to tap its power to batch alter some very large > text > dumps and find myself a bit lost. Here is what I need to do: > > Transform data in files like "alabama.txt": > * White Hall, Lowndes County > * Wilmer, Mobile County > * Wilsonville, Shelby County > * Wilton, Shelby County > * Winfield, Marion County > * Winterboro, Talladega County > > ...into this format: > White Hall > Wilmer > Wilsonville > Wilton > Winfield > Winterboro > > I have created a method for doing this in "cleanup.rb": > > def cleanup(state) > diskfile = File.new(state + "-cleaned.txt", "w") > $stdout = diskfile > > IO.foreach(state + ".txt") do |line| > line.delete("\*") > line.strip! > temp = line.split(",") > temp.delete_at(1).to_s > puts temp > end > > diskfile.close > $stdout = STDOUT > end > > So I go into IRB and here is how my session goes: > > irb(main):008:0> require 'cleanup' > => true > irb(main):009:0> cleanup(alabama) > NameError: undefined local variable or method `alabama' for > main:Object This is your clue. You didn't define the alabama variable or method. > irb(main):010:0> cleanup > ArgumentError: wrong number of arguments (0 for 1) You have to pass one argument. > So my method is loaded but isn't working. Could anyone offer any > advice > on getting this thing running? Thanks in advance. cleanup 'alabama' -- Eric Hodel - drbrain@segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE!