0

我想为已经存在的方法创建另一个名称,例如我想sliceonly. 我不想改变原始方法的行为,所以这不是重新定义,而是委托。我怎样才能做到这一点?

4

2 回答 2

1
class Whatever
  def slice
    # do something
  end
  alias :only :slice
end
于 2012-10-08T17:52:38.683 回答
1

在 Ruby 中有很多方法可以做到这一点。请查看这篇文章,这可能会帮助您找到最合适的方法。

http://gdakram.com/past/2010/12/2/multiple_ways_in_implementing_delegation_pattern_in_ruby/

于 2012-10-08T17:53:13.817 回答