考虑以下代码:
Campus = ImmutableStruct.new(:id, :name, :timezone) do
def hash; id end
end
Merchant = ImmutableStruct.new(:id, :name, :campus) do
def hash; id end
end
请注意hash
方法的重复。我想用新类ImmutableStructWithId
删除此重复项。这个新类允许重写上面两行:
Campus = ImmutableStructWithId.new(:id, :name, :timezone)
Merchant = ImmutableStructWithId.new(:id, :name, :campus)
如果 ruby的初始化程序像工厂函数一样工作(他们不会),我想要的就是以下内容:
class ImmutableStructWithId
def initialize(*args)
ImmutableStruct.new(*args) do
def hash; id end
end
end
end
我知道上面的工作没有成功,因为初始化程序不会返回他们正在创建的对象,他们只是初始化它。但如果他们像工厂职能一样工作,上面就是我想做的事情。
在ruby中实现相同效果的正确方法是什么?
答案 0 :(得分:4)
IMO这应该适合你:
webpack-dev-server 'mocha!./testfile.js' --output-filename test.js --port 8081