我有一個.csv從中讀取並解析以創建一個類的實例,我想在從該字符串返回的文本字符串之後命名該類。 .csv中的第一行。 我可以手動創建類,但想讀取行[0]並在此之後命名該變量。Ruby - 基於從.csv讀取的字符串動態命名的變量
例如。例如
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]))
請問爲什麼要設置每個Bank作爲變量?你有沒有考慮創建一個散列並存儲所有的「銀行」?你打算如何在其他地方引用這些銀行實例? –
是的,另一個.csv是指銀行的名稱,所以「Bank_of_America」字符串將是.eval'd來識別我想在此創建的現有銀行實例。 –