1

これには、さらに 3 つまたは 4 つの変数が追加されます。

name, theme = row[0], row[1]

右側のコードへのショートカットはありますか? 私は試した:

name, theme = row

しかし、 name は行全体を返し、この場合はうまくいかないようでした。

私は CSV.foreach を使用していますが、{headers: true} を追加すると上記が機能しませんでした:

CSV.foreach('file.csv', {headers: true}) do |row|
  name, theme = row

  name # returns entire row in string
end
4

2 に答える 2

3

name, theme = row大丈夫です。

irb(main):001:0> row = [1,2,3]
=> [1, 2, 3]
irb(main):002:0> first,second = row
=> [1, 2, 3]
irb(main):003:0> first
=> 1
irb(main):004:0> second
=> 2
于 2012-08-15T09:55:45.497 に答える
3

行が配列でない場合に備えて、呼び出してみてください

name, theme = Array row

また

name, theme = row.to_a

to_a メソッドがない場合は、定義する必要があります。

于 2012-08-15T10:01:57.827 に答える