לפעמים אתה רוצה לעשות loop על סדרה של ערכים.
איך אתה עושה את זה עד עכשיו?
1. יוצר מערך, מכניס אליו את כל הערכים שאתה רוצה לרוץ עליהם, ועושה עליו foreach.
2. יותר מחלקה שמממשת את Iterator, כותב בתוכה את הלוגיקה שמייצרת את הערכים, ושולח לforeach.
מה generator יותר טוב
מול 1. תאר לך שאתה רוצה לרוץ על כל המספרים מ 0 עד 100000000 תחשוב כמה זכרון זה יתפוס.
מול 2. הרבה פחות לכתוב.
זה לא שהמציאו איזה סופר משהו חדש, רק טריק לחסוך בכתיבה של boilerplate code.