The yield keyword is used by generators, which provide a simple way to implement iterators without having to create a class that implements the Iterator interface. A generator allows you to write code that iterates over a set of data without needing to build an array in memory that is returned at the end.

http://jenssegers.be/blog/66/behold-the-power-of-yield