وبلاگ سید محمد باقر رکنی

۱ مطلب با موضوع «Python» ثبت شده است

توابع مولد

شنبه, ۱۱ ارديبهشت ۱۳۹۵، ۱۱:۳۸ ب.ظ

تابع مولد چیست؟

توابع مولد خیلی شبیه توابعی  هستند که نتیجه آنها یک آرایه است. با این تفاوت که تابع مولد دنباله ای از مقادیر تولید می کند.

در تابع مولد به جای استفاده از کلمه کلیدی "return" از "yield" جهت  ارسال نتیجه استفاده می شود در تابع مولد  نتیجه  ابجکتیست که از   اینترفیس Iterator استفاده می کند. که بواسطه آن میتوان با دستور foreach مقادیر دنباله را دریافت کرد.


function nums() {
    echo "start"; 
    for ($i = 0; $i < 5; ++$i) {
        yield $i;
        echo "Yielded $i";
    }
    echo "end"; 
}

foreach (nums() as $v);

خروجی

start
Yielded 0
Yielded 1
Yielded 2
Yielded 3
Yielded 4
end

  • محمد باقر رکنی