Itération sur un tableau.
o = ["a", "b"]; o = new ArrayIterator(o); trace(o.next()); // a trace(o.next()); // b o.reset(); trace(o.next()); // a p = new ArrayIterator(); p.push("a"); p.push("b"); p.push("c"); while(p.hasNext()){ trace(p.next()); } // a // b // c
Initialisation
Visibilité | Type | Nom | Status | Description |
---|---|---|---|---|
private | Number | _index | L'index courant |
Visibilité | Return | Nom | Description |
---|---|---|---|
public | Void | reset | Remet l'index à zero |
public | Boolean | hasNext | Indique s'il y a une valeur suivante |
public | Object | next | Récupère la valeur suivante |
Création
/** * Itération sur un tableau * @author neolao <neo@neolao.com> * @version 1.0 (15/06/2005) */ dynamic class com.neolao.data.ArrayIterator extends Array{ public var className:String = "ArrayIterator"; public var version:String = "1.0"; // ----------------------------- VARIABLES --------------------------------- /** * L'index courant */ private var _index:Number; /*============================= CONSTRUCTEUR =============================*/ /*========================================================================*/ /** * Initialisation * @param pArray Le tableau */ public function ArrayIterator(pArray:Array){ if(pArray){ for(var i=0; i<pArray.length; i++){ this[i] = pArray[i]; } } _index = 0; } /*======================= FIN = CONSTRUCTEUR = FIN =======================*/ /*========================================================================*/ /*========================== METHODES PUBLIQUES ==========================*/ /*========================================================================*/ /** * Remet l'index à zero */ public function reset(Void):Void{ _index = 0; } /** * Indique s'il y a une valeur suivante * @return true s'il y a une valeur suivante, sinon false */ public function hasNext(Void):Boolean{ return (_index < this.length); } /** * Récupère la valeur suivante * @return La valeur suivante si elle existe, sinon undefined */ public function next(Void):Object{ return this[_index++]; } /*==================== FIN = METHODES PUBLIQUES = FIN ====================*/ /*========================================================================*/ }