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":
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.
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":
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":
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)
def cleanup(state)
File.open(state + "-cleaned.txt", "w") do |outfile|
IO.foreach(state + ".txt") do |line|
outfile.puts line[ /^[\s*]*(.*),[^,]*$/, 1 ]
end
end
end
I think what the original author of this message was trying to say was "Have you tryed RegExps?"
=P
Paulo Jorge Duarte Köch
paulo.koch@gmail.com
···
On 2006/12/28, at 06:35, William James wrote:
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":
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)
def cleanup(state)
File.open(state + "-cleaned.txt", "w") do |outfile|
IO.foreach(state + ".txt") do |line|
outfile.puts line[ /^[\s*]*(.*),[^,]*$/, 1 ]
end
end
end