我有一个.csv,我从中读取并解析以创建一个类的实例,我想在.csv 中第一行返回的文本字符串之后命名该类。我可以手动创建类,但想读取 row[0] 并在此之后命名变量。
例如。
CSV.foreach("banks.csv", :headers => true) do |row|
***contents of row[0]*** = Bank.new(row[0], row[1], row[2], row[3], row[4])
例如,row[0] == "Bank_of_America",所以我希望代码等同于以下内容;
Bank_of_America = Bank.new(row[0], row[1], row[2], row[3], row[4])
我已经使用 instance_variable_set 阅读了一些关于类似主题的其他回复,但无法让给出的代码正常工作。
提前感谢您的任何建议!
编辑:以下工作;
instance_variable_set("@#{row[0]}", Bank.new(row[0], row[1], row[2], row[3], row[4]))