পুনরাবৃত্তিকারী

Iterators হল একটি সাধারণ প্রোগ্রামিং প্যাটার্ন যা বস্তুর একটি তালিকা অতিক্রম করার জন্য ব্যবহৃত হয়

  • তালিকার আকার শুরু থেকে জানা নাও হতে পারে।
  • একবারে পুরো তালিকাটি মেমরিতে লোড করা অত্যধিক সম্পদ নিবিড় প্রমাণিত হতে পারে।

পুনরাবৃত্তিকারী দুটি পদ্ধতি প্রকাশ করে: boolean hasNext() এবং Object next() । Google Ads স্ক্রিপ্টগুলি Google Ads এন্টিটি আনার জন্য Iterator প্যাটার্ন ব্যবহার করে।

কার্যকরীভাবে, পুনরাবৃত্তিকারীগুলি নিয়মিত অ্যারে থেকে খুব বেশি আলাদা নয় এবং আপনার কোডকে আরও সংক্ষিপ্ত করে তুলতে পারে। একটি অ্যারে অতিক্রম করে এমন কোডের তুলনা করুন:

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()}`);
}

আপনি অন্তর্নির্মিত জাভাস্ক্রিপ্ট পুনরাবৃত্তি ব্যবহার করতে পারেন:

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 Ads এন্টিটির একটি Iterator পেতে, আপনাকে প্রথমে একটি নির্বাচক তৈরি করতে হবে।