Pot.js と PotLite.js で利用可能。
コンストラクタ。Pot.Iter インスタンスを作成します。
Pot.Iter コンストラクタ。
新しい Pot.Iter インスタンスを作成します。
Pot.Iter を利用することで、独自のイテレータを作成することができます。
インスタンスに next という名前のメソッドを定義することで
イテレータとして認識されます。
作成したイテレータは、Pot.iterate() によりループ処理を行うことができます。
Pot.globalize() が適応されている場合、new Iter() として作成できます。
Pot.Iter オブジェクト インスタンスを返します。
var results = [];
var iter = new Pot.Iter();
// next は StopIteration を throw することで終了します
iter.next = (function() {
var i = 0;
var end = 10;
return function() {
if (i >= end) {
throw Pot.StopIteration;
}
return i++;
};
})();
Pot.iterate(iter, function(i) {
results.push(i);
});
debug(results); // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]