Я новичок в Ruby, и как часть моих исследований я получил задачу преобразовать файл CSV во что-то, что я могу отсортировать по цене и тому подобное.Однако у меня возникают проблемы при создании списка объектов.Я знаю, что могу сделать object1, object2 и тому подобное, но я не знаю, как это сделать автоматически.
Это код, который у меня есть:
class Product
attr_reader :id, :name, :price, :stock
def initialize(id,name,price,stock)
@id = id
@name=name
@price=price
@stock=stock
end
def readout(variable)
print product.id
print "|"
print product.name
print "|"
print product.price
print "|"
print product.stock
puts ""
end
end
products = []
newproducts= []
File.open("products.csv" , "r") do |f|
f.each_line do |line|
products << line
end
end
puts products
products.each do |product|
data = product.split(",")
inbetween = Product.new(data[0].to_s, data[1].to_s, data[2].to_i, data[3].to_i)
inbetween
newproducts << inbetween
end
newproducts.sort_by{|x| x.price}
newproducts.each do |product|
print product.id
print "|"
print product.name
print "|"
print product.price
print "|"
print product.stock
puts ""
end