我想調用一個類的過程,但從它與訪問實例方法與繼承類。我覺得有些模擬代碼會更有意義:)從類方法proc訪問實例方法
class Bar
def self.foo &block
@foo ||= block
end
def foo; self.class.foo.call(); end
def bar; 'bar'; end
end
class Foo < Bar
foo do
bar
end
end
Foo.new.foo
# NameError: undefined local variable or method `bar' for Foo:Class
我希望能夠訪問的酒吧類bar
實例方法。使用繼承類中的塊調用foo類方法的原因是DSL要求的一部分,但對於更好設計的任何建議都將不勝感激。
這兩個foos很混亂。 –
爲什麼'new.bar'或者使'bar'類方法不好? –
@SergioTulentsev哈!對不起...我不是很有創意,我的作品代碼:) – brewster