技巧来。下述例子用Scheme语言写成。注意它是一个递归（迭代的特例），因为函数iter在解决问题时调用了自身。特别地，它使用了尾部递归，一种能被Scheme这样的编程语言完备支持的技巧，因此程序不会占用大量堆栈。(define(sum n)迭代器（iterator）就是一个封装了迭代的对象。