input file looks like:
dog,white,male cat,purple,female rat,gray,male
and i want to go through and do things with that data, line by line.
File.open("animals.csv")
while file has next line
currentline = array with each cell being an entry in the array
if currentline[0] == dog
put "dogs are cool"
end
put "your animal is a " + currentline[0]
end
You get the idea, right? I want to manipulate data line with ifs and whatnot and print it all out at the end.
Thanks
Ruby includes a CSV class that makes parsing and working with CSVs even simpler. Check out: http://www.ruby-doc.org/stdlib-1.9.3/libdoc/csv/rdoc/CSV.html
You can use the magic of blocks to clean up your line reading code quite a bit. The code below will close your handle for you and also get each line one at a time without too much extra buffering.
As noted there is a CSV library, but if your data is not complicated, doesn't have embedded commas and whatenot, the above is reasonable.
Also note that you want to compare to the string "dog" rather that some variable named dog. To make a string enclose the letters in quotes, otherwise ruby will think its a variable or maybe a method call.