Generatorius yra subroutino apibendrinimas, daugiausia naudojamas supaprastinti iteratorių rašymą. Generatoriaus pelningumo ataskaitoje nenurodoma, kad ji turi pereiti prie jos, bet grąžina vertę atgal į pagrindinę procedūrą.

Iš „ Wikipedia“ :

Generatorius yra speciali procedūra, kurią galima naudoti norint kontroliuoti kilpos iteracinį elgesį. Generatorius labai panašus į funkciją, kuri grąžina masyvą, nes generatorius turi parametrų, kuriuos galima pavadinti ir generuoti reikšmių seką. Tačiau vietoj to, kad statytų masyvą, kuriame būtų visos vertės ir grąžinama viskas iš karto, generatorius suteikia vertes po vieną, o tai reikalauja mažiau atminties ir leidžia skambinančiam asmeniui nedelsiant pradėti apdoroti pirmas kelias vertes. Trumpai tariant, generatorius atrodo kaip funkcija, bet elgiasi kaip iteratorius.

Generatoriai gali būti įgyvendinami išraiškingesnių valdymo srautų, pvz., Korutinų arba pirmos klasės tęsinių, atžvilgiu.