0
我在音频应用程序环境中使用Ruby组件。此Ruby组件由RubyEdit
类的实例表示。这提供了我的Ruby代码和环境之间的接口。如何动态添加/扩展类的方法?
例如,如果我写self
它输出表示该组件的RubyEdit类的实例:
的好处之一是,我可以/必须“实现/扩展”一些方法RubyEdit
当它得到一些事件时会打电话。我可以定义我的自定义方法event
该实例:
def event
# my own event code
end
,它会被调用当环境得到这个Ruby组件以外的一些事件。或者,我可以叫class method
叫redraw
,它会叫我的自定义方法draw
:
def draw
# my own draw code (this will called after invoking redraw from Ruby Component)
end
我需要了解这个过程的一些层次,所以我做的红宝石是RubyEdit
类的模拟。
它会如何看起来?我的意思是:我如何提供将在“稍后”定义的方法?
这是RubyEdit会怎么看,我认为:
class RubyEdit
def self.redraw
# calling this class method should invoke my extended draw method
end
def draw
end
def event
end
end
,但我不明白如何放置event
和draw
方法可扩展。接口?