เป็น trick ที่น่าสนใจทีเดียวครับสำหรับการประกาศให้ class สนับสนุน iterator ในตัง

Ted Naleid บล่อกแนะนำเรื่องนี้ไว้ โดยเขามีตัวอย่างการประกาศ class สำหรับเลขคู่ (Evens)
ให้ตัว class นั้นสนับสนุน iterator ในตัวเลย ตามนี้ครับ

class Evens {
	private numbers = [2,4,6]

	Iterator iterator() {
		return numbers.iterator()
	}
}

และเมื่อเราเขียน def e = new Evens() เราจะสามารถเรียกใช้ closure เช่น e.each { println it } ได้โดยตรงเลยครับ

อ่านตัวเต็มได้จากที่นี่ครับ

Tags:

Leave a Reply