require 'csv'
class Car
attr_accessor :year, :make, :model, :length
def initialize(year, make, model, length)
@year = year
@make = make
@model = model
@length = Float(length)
end
def to_s
"The #{@make} #{@model} was built in #{@year} and measured #{@length}."
end
end
class CsvReader
attr_accessor :cars
def initialize
@cars_in_file = []
end
def read_in_csv_data(csv_file_name)
CSV.foreach(csv_file_name, headers: true) do |row|
@cars_in_file << Car.new(row["Year"], row["Make"], row["Model"], row["Length"])
end
end
end
reader = CsvReader.new
reader.read_in_csv_data("/home/stapiagutierrez/Desktop/Pickaxe/cars.csv")
puts reader.cars[0]
The error is fired in the CsvReader class, in the CSV.foreach area. Here is the error:
Quote
CsvReader.rb:26: syntax error, unexpected ':', expecting ')'
CSV.foreach(csv_file_name, headers: true) do |row|
^
CsvReader.rb:30: syntax error, unexpected kEND, expecting $end
CSV.foreach(csv_file_name, headers: true) do |row|
^
CsvReader.rb:30: syntax error, unexpected kEND, expecting $end
Any suggestions on how to fix this? Thanks!

New Topic/Question
Reply



MultiQuote



|