クラスのインスタンスを作成するために読み取って解析する .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]))