2013-03-25 108 views
0

我只是想知道是否有更美丽的方法来创建对象的方法并返回它?从方法创建并返回对象

这里是我的代码:

class Example 
    def Example.load_from_file(filename) 
    example = Example.new 
    # some code 
    example 
    end 
end 

可能有一些红宝石成语,让我不要在方法的末尾写example。你可以重构这段代码,或者它现在足够了吗?

回答

1

假设你有example是可变的,你继续申请“一些代码”中的破坏性的方法它:

class Example 
    def Example.load_from_file(filename) 
    Example.new.tap do |example| 
     # some code 
    end 
    end 
end 
+0

感谢。这是我需要的:) – demas 2013-03-25 07:26:29