列出每部电影的标题,

问题描述 投票:0回答:1

[最近,我建立了一个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

如果需要,这是我的整个电影课...

ruby api rubygems command-line-interface
1个回答
0
投票

您的问题是这个位:

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
© www.soinside.com 2019 - 2024. All rights reserved.