المكرّرات

التكرارات هي نمط برمجة شائع يُستخدم لاجتياز قائمة الكائنات عند

  • قد لا يكون حجم القائمة معروفًا من البداية.
  • قد يؤدي تحميل القائمة بأكملها في الذاكرة مرة واحدة إلى استنزاف الموارد بشكل كبير.

تعرض التكرارات طريقتَين: boolean hasNext() وObject next(). تستخدم نصوص "إعلانات Google" البرمجية نمط "المكرّر" لجلب كيانات "إعلانات Google".

من الناحية الوظيفية، لا تختلف المكررات كثيرًا عن الصفائف العادية، ويمكن أن تجعل التعليمة البرمجية أكثر إيجازًا. مقارنة الرمز الذي يتجاوز صفيفًا:

for (var i = 0; i < myArray.length; i++) {
  let myObject = myArray[i];
}

باستخدام التعليمات البرمجية التي تجتاز التكرار:

while (myIterator.hasNext()) {
  let myObject = myIterator.next();
}

توضّح الرمز التالي استخدام مُكرّر على جميع الحملات في حسابك:

var campaignIterator = AdsApp.campaigns().get();

while (campaignIterator.hasNext()) {
  let campaign = campaignIterator.next();
  console.log(`${campaign.getName()}; active? ${campaign.isEnabled()}; ` +
      `budget=${campaign.getBudget().getAmount()}`);
}

يمكنك أيضًا استخدام تكرار JavaScript المضمّن:

for (const campaign of AdsApp.campaigns()) {
  console.log(`${campaign.getName()}; active? ${campaign.isEnabled()}; ` +
      `budget=${campaign.getBudget().getAmount()}`);
}

ولا يؤدي تطبيق withLimit() على أداة الاختيار إلى تغيير قيمة totalNumEntities(). سيكون لكل من x وy في المقتطف التالي القيمة نفسها:

var x = AdsApp.keywords().get().totalNumEntities();
var y = AdsApp.keywords().withLimit(5).get().totalNumEntities();

للحصول على "مكرّر" لكيانات "إعلانات Google"، يجب إنشاء أداة اختيار أولاً.