Project

General

Profile

Feature #709

Updated by knu (Akinori MUSHA) over 5 years ago

=begin 
  
  Enumerators could be directly composable: 
 
  class Enumerator 
    def +(other) 
      Enumerator.new do |y| 
        each { |e| y << e } 
        other.each { |e| y << e } 
      end 
    end 
  end 
 
  if __FILE__ == $0 
    a = (1..3).to_enum + (10..12).to_enum + (17..20).to_enum 
    a.each { |i| puts i } 
  end 
 
  The only problem I can see here is that this might open the floodgates to requests for more methods such as & and |, and it's not clear how those would behave. (Personally I'd go for a merge which compares the head items from each of the operands, which assumes that the operands are already in sorted order, but others may disagree) 
 
 =end 
 

Back