希望设置一个可以返回实例数组的类方法。我在尝试修改实例的过程中遇到了一些麻烦。变量NoMethodError: undefined method 'name=' for #<Class:0x007fe65c8560c0>
。
class User
attr_accessor :name
def self.sample_users
megan = self.class.new
megan.name = "Megan"
jack = self.class.new
jack.name = "Jack"
[megan, jack]
end
end
我觉得这应该可以在Ruby中实现。有什么指导吗?
答案 0 :(得分:4)
仅使用new
代替self.class.new
class User
attr_accessor :name
def self.sample_users
megan = new
megan.name = "Megan"
jack = new
jack.name = "Jack"
[megan, jack]
end
end
答案 1 :(得分:3)
此上下文中self
的值为User
(sample_users
是一种类方法);因此self.class
将返回Class
。
我想你只想要self.new
。