読者です 読者をやめる 読者になる 読者になる

Shut the fuck up and write some code

グダグダ言わずにコードを書きたいブログ

Iteratorを実装してみる。

flashlite3.0 flashlite2.0 AS2

Java本ばっかり読んでいても意味ないので書いてみた。JAVAAndroid)と見せかけてAS2で!

※2009/04/15 アドバイスを受けて実行処理部分を変更しました。 

■インターフェース Iterator.as

interface Iterator {
	
	public function hasNext() :Boolean
	public function next() :Object
	
}


■インターフェース Iteratorを実装 testIterator.as

class testIterator implements Iterator {
	
	private var testarray:Array = new Array
	private var index:Number
	
	public function testIterator(array:Array) {
		
		testarray = array
		index = 0
		
	}
	
	public function hasNext():Boolean {
		
		if (index < testarray.length) {
			return true
		}else {
			return false
		}
		
	}
	
	public function next():Object {
		
		var obj:Object = testarray[index]
		index++
		
		return obj
		
	}
	
}

■実行

var test:Array = ["ricaldo","richie","fumiya","jeff"]
var testIterator:testIterator=new testIterator(test)

trace("配列の中身")
trace("------")
while(testIterator.hasNext()) {
	trace(testIterator.next())
	trace("------")
}

■出力

配列の中身
------
ricaldo
------
richie
------
fumiya
------
jeff
------


実際に書くと良くわかりますね。いろいろ試すのは悪くない・・・はず。

ようやくこの本の素晴らしさが分かってきた。

FLASH OOP (Advanced Web design books)
Flash OOPJapan 株式会社バスキュール 加藤 達雄
翔泳社
売り上げランキング: 30306

購入してから2年・・・。発売自体はもっと昔orz。