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
- subclassed Iterator dispatch question DMisener
- subclassed Iterator dispatch question ElegantBeef
- subclassed Iterator dispatch question DMisener
- subclassed Iterator dispatch question Calonger
