مولد (برمجة)

من أرابيكا، الموسوعة الحرة

هذه هي النسخة الحالية من هذه الصفحة، وقام بتعديلها عبود السكاف (نقاش | مساهمات) في 03:36، 4 يونيو 2023 (بوت: إصلاح أخطاء فحص أرابيكا من 1 إلى 104). العنوان الحالي (URL) هو وصلة دائمة لهذه النسخة.

(فرق) → نسخة أقدم | نسخة حالية (فرق) | نسخة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

في علم الحاسوب ، يعد المولّد generator روتينًا يمكن استخدامه للتحكم في سلوك تكرار الحلقة . جميع المولدات هي أيضا مكررات .[1] المولد يشبه إلى حد كبير دالة ترجع مصفوفة ، حيث أن المولد يحتوي على معلمات يمكن استدعائها، ويولد سلسلة من القيم. ومع ذلك ، بدلاً من بناء مصفوفة تحتوي على جميع القيم وترجعها كلها في وقت واحد ، ينتج المولد القيم واحدة تلو الأخرى، الأمر الذي يتطلب ذاكرة أقل ويسمح للمستدعي بالبدء في معالجة القيم القليلة الأولى على الفور. باختصار ، يبدو المولد يبدو كدالة ولكنه يتصرف مثل المكرر .

يمكن تنفيذ المولدات من حيث تركيبات تدفق التحكم المعبرة، مثل الروتينات الفرعية أو الاستمرارات من الصنف الأول.[2] تُعد المولدات، والمعروفة أيضًا باسم أشباه الروتينات، [3] حالة خاصة (وأضعف من) من الروتينات الفرعية، من حيث أنها دائمًا ما تعيد التحكم إلى المستدعي (عند تمرير قيمة إلى الوراء) ، بدلاً من تحديد روتين فرعي للقفز إليه.

انظر أيضًا

مراجع

  1. ^ What is the difference between an Iterator and a Generator? نسخة محفوظة 2020-06-25 على موقع واي باك مشين.
  2. ^ Kiselyov، Oleg (يناير 2004). "General ways to traverse collections in Scheme". مؤرشف من الأصل في 2019-12-22.
  3. ^ Anthony Ralston (2000). Encyclopedia of computer science. Nature Pub. Group. ISBN:978-1-56159-248-7. مؤرشف من الأصل في 2020-06-23. اطلع عليه بتاريخ 2013-05-11.
  • ستيفان مورير ، ستيفن أوموهوندرو ، ديفيد ستاوتامير وكليمنس سزيبيرسكي: تجريد التكرار في ساثر . معاملات ACM على لغات وأنظمة البرمجة ، 18 (1): 1-15 (1996) [1]