質問: csv[1] #行を指定する場合 puts one.class # => CSV::Row puts one # => 20:10,GOODNIGHT,miki puts one[:time] # => 20:10 ``` csvファイル(data.csv) ``` time,text,user 10:00,Hello,tarou 20:10,GOODNIGHT,miki 03:00,SINTYOKUDAME,se ```
回答: コメントでやりとりされているとおり、Rubyのバージョンが古いのが原因です。 質問のコードはRuby 1.9以上で動作しますが、1.9系もメンテナンスが終了しているので、最低でも2.0以上にアップデートした方がいいと思います。(現時点の最新版である2.2.3を使うのが理想的) バージョンアップの方法ですが、最近ではrbenv(もしくはRVM)を使って任意のバージョンに切り替えられるようにするのが主流です。 参考までにrbenvの公式ページをリンクしておきます。 ネットを検索すると日本語の情報もたくさん見つかると思うので、それらを参考にして以下のように作業を進めてみてください。 1. rbenvのインストール 2. Ruby 2.2.3のインストール(rbenvを使用) 3. rbenvでバージョンを切り替え、Ruby 2.2.3上でgame.rbを実行