我的班级MyServer < UNIXServer
继承自UNIXServer
。
我需要在其对象上调用Object#send方法,但我不知道如何调用它,因为UNIXServer
会使用this method覆盖它。有什么想法吗?
答案 0 :(得分:1)
医生说:
如果名称发送与现有方法发生冲突,则可以使用
__send__
在obj。
答案 1 :(得分:-1)
我想要原始send
方法,您可以在Object
类中创建别名。
# Opening the `Object` class
# and aliasing the original `send
Object.class_eval do
alias_method :original_send, :send
end
执行此操作后,您可以在original_send
个实例中调用MyServer
,其行为与原始send
方法相同。
如果这是抽象的,请查看Metaprogramming in Ruby。
正如JörgWMittag和@pioz已经说过你也可以使用__send__
方法。 Docs