這裏是我的代碼:未定義的方法'身份證」的零:NilClass的對象集合
class Train
attr_accessor :id, :person_id, :movie_id, :eval
def initialize(id, person_id, movie_id, eval)
@id = id
@person_id = person_id
@movie_id = movie_id
@eval = eval
end
end
trains = Array.new
CSV.open('train.csv', encoding: "BOM|UTF-16LE:UTF-8", row_sep: :auto, col_sep: ';') do |csv|
csv.each do |id, person_id, movie_id, eval|
trains[id.to_i] = Train.new(id.to_i, person_id.to_i, movie_id.to_i, eval.to_i)
end
end
trains.each do |t|
puts t.id
end
它只是從一個CSV文件創建對象的數組,並打印對象的ID,但我得到錯誤:
undefined method `id' for nil:NilClass
爲什麼t
爲零,當我使用puts t
正在打印的對象。
好吧,我發現它,第一個元素(列車[0])是零... – tommybernaciak
歡迎來到堆棧溢出。請花些時間閱讀[格式化文本的幫助](http://stackoverflow.com/editing-help)。閱讀和理解越容易,我們可以幫助您越快越好。 –