Book Image

haXe 2 Beginner's Guide

5 (1)
Book Image

haXe 2 Beginner's Guide

5 (1)

Overview of this book

Table of Contents (21 chapters)
haxe 2
Credits
Foreword
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Time for action – Creating the iterator


We now have a function in our Fridge to return an iterator, but we still need to write this iterator. To keep things simple in this exercise, we will simply rely on the iterator of the Fridge's list.

Now, we will create this StorableIterator class:

package fridgeManager;

class StorableIterator
{
   private var iterator : Iterator<Storable>;

   public function hasNext() : Bool
   {
      return iterator.hasNext();
   }
   
   public function next() : Storable
   {
      return iterator.next();
   }
   
   public function new(fridge : Fridge)
   {
      iterator = fridge.storedItems.iterator();
   }
}

What just happened?

As you can see it is pretty simple and relies on the fridge list's iterator.

Just remember that the hasNext function returns a Bool stating whether there's any item left to iterate, and the next function returns the next item.

In the constructor, we just store the fridge list's iterator.

Since iterator is a typedef, we do not have...