T
Taylor Strait
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
irb(main):010:0> cleanup
ArgumentError: wrong number of arguments (0 for 1)
So my method is loaded but isn't working. Could anyone offer any advice
on getting this thing running? Thanks in advance.
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
irb(main):010:0> cleanup
ArgumentError: wrong number of arguments (0 for 1)
So my method is loaded but isn't working. Could anyone offer any advice
on getting this thing running? Thanks in advance.