المكرّرات

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

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

تعرض المكرّرات طريقتَين: 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"، عليك إنشاء أداة اختيار أولاً.