Try a
    
    
    import sequtils
    
    type
      Number = object of RootObj
      Odd = object of Number
      Even = object of Number
    
    method sample(number: Number): iterator(): int =
      result = iterator(): int =
        for i in [1, 2, 3]:
          yield i
    
    method sample(number: Odd): iterator(): int =
      result = iterator(): int =
        for i in [1, 3, 5]:
          yield i
    
    method sample(number: Even): iterator(): int =
      result = iterator(): int =
        for i in [0, 2, 4]:
          yield i
    
    let list = [number, odd, even]
    
    for item in list:
      let x = item.sample
      echo x()
      echo x()
    
    
    Run

Reply via email to