我在互联网上做了一些初学者类型的OOP练习。目前我的任务是创建两个类:
问题是如何创建此Person类型变量。 我试过这个:
class Person
attr_accessor :name, :surname, :age
def initialize name, surname, age = nil
@name, @surname, @age = name, surname, age
end
end
class Song
attr_accessor :tite, :author, :date_of_issue
def initalize title, author , date_of_issue
@title, @author, @date_of_issue = title, Person.new, date_of_issue
end
end
当我尝试创建新对象时:
song1 = Song.new("All_you_need_is_love", "The_beattles", 1967)
我明白了:
ArgumentError:参数数量错误(0表示2)
所以我有两个想法:
我的Song
班级代码错误
song1
对象初始化错误(因为参数数量)
您怎么看?
答案 0 :(得分:2)
你应该在歌曲中正确拼写initialize
。还要考虑 Person 构造函数至少需要2个参数。