我创建了一个具有一些特殊属性的 Enumerator 子类(即它知道它的元素是 Time 对象):
class TimedEnumerator < Enumerator
...some time-specific methods...
end
给定一个 Time 对象数组,如何生成 TimedEnumerator?我的第一个想法是简单地使用 ::new 方法,但这会产生一个弃用警告:
>> TimedEnumerator.new(array)
(irb):12: warning: Enumerator.new without a block is deprecated; use Object#to_enum
当然,array.to_enum
创建一个 Enumerator 对象,而不是 TimedEnumerator 对象。
这样做的正确方法是什么?