Posted to tcl by kbk at Fri Jul 18 20:49:44 GMT 2008view pretty
coroutine adder {n} {
set sum $n
while {1} {
incr sum [lindex [yield $sum] 0]
}
}
puts [adder 1]; # prints 1
puts [adder 2]; # prints 3
puts [adder 3]; # prints 6
coroutine adder {n} {
set sum $n
while {1} {
incr sum [lindex [yield $sum] 0]
}
}
puts [adder 1]; # prints 1
puts [adder 2]; # prints 3
puts [adder 3]; # prints 6