【发布时间】:2017-03-09 22:38:05
【问题描述】:
假设我创建了以下类:
class Node < Struct.new(:data, :left, :right)
def each(&block)
...
end
end
如您所知,select 由Struct 和Enumerable 定义(后者包含在Struct 中)。
我该如何做Node.new.select 并触发Enumerable 的实现而不是Struct 的实现?我需要这个的原因是我已经为我的班级实现了一个自定义each,我希望select 使用它(因此我需要Enumerable#select)。
【问题讨论】:
标签: ruby inheritance mixins