[最近,我建立了一个CLI数据宝石,该清单列出并描述了所有《星球大战》电影,当我与我的同类队列进行审查时,她要求我建立一种方法来列出每个电影实例的标题。
def say_titles
Movie.all.each.with_index do |title|
puts "#{movie.title}"
end
end
这是我目前拥有的,但似乎无法使其完全正常工作。有什么想法吗?
class Movie
attr_reader :title, :episode_id, :opening_crawl, :director, :producer, :release_date
@@all = []
def initialize(title, episode_id, opening_crawl, director, producer, release_date)
@title = title
@episode_id = episode_id
@opening_crawl = opening_crawl
@director = director
@producer = producer
@release_date = release_date
@@all << self
end
def self.all
@@all
end
end
如果需要,这是我的整个电影课...
您的问题是这个位:
Movie.all.each.with_index do |title|
puts "#{movie.title}"
end
您正在遍历每个Movie
记录,并使用title
作为占位符,但随后尝试引用#{movie.title}
。无论您使用什么作为占位符,都将引用每个记录,因此您可以执行以下操作:
Movie.all.each.with_index do |title|
puts "#{title.title}"
end
或者您可能想要:
Movie.all.each.with_index do |movie|
puts "#{movie.title}"
end