2013-05-22 133 views
2

尋找設置可以返回實例數組的類方法。我遇到了一些麻煩,我試圖修改實例變量NoMethodError: undefined method 'name=' for #<Class:0x007fe65c8560c0>Ruby - 返回實例並修改該實例的類方法

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中。任何指導?

回答

4

newself.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 
3

在這種情況下self的值是Usersample_users是一個類方法);所以self.class將返回Class

我想你只是想self.new。使用只是代替

相關問題