RubyのCSV::Tableクラスで作成したテーブルのカラムに100を代入する場合、table[0][0] = 100
は可能ですが、table[:id][0] = 100
では値が代入できないのはなぜでしょうか。
以下のようにCSVデータを用意し、pry
を実行しました。
扱うCSVデータ
csv
1# data.csv 2 3id,name,age 41,hattori,25 52,hanzoo,35
Pryを実行
$ pry
Terminal
1[1] pry(main)> require 'csv' 2=> true 3 4[2] pry(main)> table = CSV.table('data.csv') 5=> #<CSV::Table mode:col_or_row row_count:3> 6 7[3] pry(main)> puts table 8id,name,age 91,hattori,25 102,hanzoo,35 11=> nil 12 13# 値が代入できない 14 15[4] pry(main)> table[:id][0] = 100 16=> 100 17 18[5] pry(main)> puts table 19id,name,age 201,hattori,25 212,hanzoo,35 22=> nil 23 24# 値が代入できる 25 26[6] pry(main)> table[0][0] = 100 27=> 100 28 29[7] pry(main)> puts table 30id,name,age 31100,hattor,25 322,hanzoo,35 33=> nil
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/04 09:15
2017/05/04 09:29 編集
2017/05/05 12:28