【发布时间】:2021-09-05 10:52:10
【问题描述】:
有人可以帮我解决这个问题吗? 我尝试了这段代码,但我不断收到底部所示的方法错误
class Song
@@play = 0; #class variable must be define before use
def initialize(name, artist, duration)
@name = name
@artist = artist
@duration = duration
@plays = 0
end
def play
@plays += 1 #same as @plays = @plays + 1
@@play += 1
"This song: #@plays plays. Total #@@play plays"
end
end
class SongList
Max_Time = 5*60
def self.is_too_long(song)
return song.duration > Max_Time
end
end
song1 = Song.new("Bicyclops", "Fleck", 260)
p song1.duration
p SongList.is_too_long(song1)
ruby_ex03.rb:49:in <main>': undefined method duration' for #Song:0x000000000605f338 (NoMethodError)
【问题讨论】:
-
Song 没有方法“duration”,实例变量就是这样——不是访问器方法。