创建类和方法

时间:2015-07-25 06:15:05

标签: ruby

class Playlist
  def initialize(name)
    @name=name
    @movies=[]
    def add(movie)
      @movies << @name
      puts movies
    end
  end
end

playlist1 = Playlist.new("snatch")
puts playlist1.add("dazzled")

这是我得到的错误:

in `add': undefined local variable or method `movies' for #<Playlist:0x007fa53b809430 @name="snatch", @movies=["snatch"]> (NameError)

当我尝试使用Playlist方法时,我不知道为什么add不起作用。

我试图让@name传入影片阵列并在调用时将其打印到屏幕上。

2 个答案:

答案 0 :(得分:1)

movies

而不是@movies,您应该使用!

答案 1 :(得分:0)

执行:

def add(movie)
    @movies << movie
    puts @movies
end

我不明白为什么要将播放列表名称传递给@movies数组。您应该传递movie,因为这是电影的名称