Ruby - 返回实例的类方法&修改该实例

时间:2013-05-22 05:08:47

标签: ruby

希望设置一个可以返回实例数组的类方法。我在尝试修改实例的过程中遇到了一些麻烦。变量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中实现。有什么指导吗?

2 个答案:

答案 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的值为Usersample_users是一种类方法);因此self.class将返回Class

我想你只想要self.new