লাইব্রেরি

একটি লাইব্রেরি একটি স্ক্রিপ্ট প্রকল্প যার ফাংশন অন্যান্য স্ক্রিপ্টে পুনরায় ব্যবহার করা যেতে পারে।

একটি লাইব্রেরি অ্যাক্সেস লাভ

আপনার প্রজেক্টে একটি লাইব্রেরি অন্তর্ভুক্ত করার জন্য আপনার এটিতে কমপক্ষে ভিউ-লেভেল অ্যাক্সেস থাকতে হবে। আপনি যে লাইব্রেরির লেখক না হন যেটি আপনি অন্তর্ভুক্ত করতে চান, লেখকের সাথে যোগাযোগ করুন এবং অ্যাক্সেসের অনুরোধ করুন।

আপনি যে লাইব্রেরিটি অন্তর্ভুক্ত করতে চান তার স্ক্রিপ্ট আইডি প্রয়োজন৷ যখন আপনার লাইব্রেরিতে অ্যাক্সেস থাকে, আপনি প্রকল্প সেটিংস পৃষ্ঠায় স্ক্রিপ্ট আইডি খুঁজে পেতে পারেন।

আপনার স্ক্রিপ্ট প্রকল্পে একটি লাইব্রেরি যোগ করুন

  1. Apps স্ক্রিপ্ট সম্পাদকের বাম দিকে, "লাইব্রেরি" এর পাশে, একটি লাইব্রেরি করুন এ ক্লিক করুন।
  2. "স্ক্রিপ্ট আইডি" ক্ষেত্রে, লাইব্রেরির স্ক্রিপ্ট আইডি পেস্ট করুন।
  3. দেখুন ক্লিক করুন.
  4. সংস্করণ ড্রপডাউনে ক্লিক করুন এবং ব্যবহার করার জন্য লাইব্রেরির সংস্করণ নির্বাচন করুন।
  5. ডিফল্ট "আইডেন্টিফায়ার" নামটি আপনি এই লাইব্রেরির সাথে ব্যবহার করতে চান কিনা তা দেখতে পরীক্ষা করুন৷ এটি সেই নাম যা আপনার স্ক্রিপ্ট লাইব্রেরির উল্লেখ করতে ব্যবহার করে। উদাহরণস্বরূপ, যদি আপনি এটিকে Test সেট করেন তবে আপনি সেই লাইব্রেরির একটি পদ্ধতিকে নিম্নরূপ কল করতে পারেন: Test.libraryMethod()
  6. যোগ করুন ক্লিক করুন.

একটি লাইব্রেরি ব্যবহার করুন

আপনি একটি ডিফল্ট পরিষেবা ব্যবহার করবেন হিসাবে আপনার অন্তর্ভুক্ত লাইব্রেরি ব্যবহার করুন. উদাহরণ স্বরূপ, যদি Test আপনার লাইব্রেরির শনাক্তকারী হয়, তাহলে লাইব্রেরিতে পদ্ধতির তালিকা দেখতে একটি পিরিয়ডের পরে Test টাইপ করুন।

একটি অন্তর্ভুক্ত লাইব্রেরির জন্য রেফারেন্স ডকুমেন্টেশন এই পদক্ষেপগুলি অনুসরণ করে খোলা যেতে পারে:

স্ক্রিপ্ট এডিটরের বাম দিকে, লাইব্রেরির নামের পাশে, More > একটি নতুন ট্যাবে খুলুন ক্লিক করুন।

একটি লাইব্রেরি সরান

স্ক্রিপ্ট এডিটরের বাম দিকে, লাইব্রেরির নামের পাশে, More > Remove > Remove library এ ক্লিক করুন।

একটি লাইব্রেরি আপডেট করুন

আপনি লাইব্রেরির সংস্করণ পরিবর্তন করতে পারেন বা এর শনাক্তকারী আপডেট করতে পারেন।

  1. সম্পাদকের বাম দিকে, "লাইব্রেরি" এর অধীনে লাইব্রেরির নামে ক্লিক করুন৷
  2. আপনার পরিবর্তন করুন এবং সংরক্ষণ করুন ক্লিক করুন.

একটি লাইব্রেরি তৈরি করুন এবং ভাগ করুন

একটি লাইব্রেরি হিসাবে আপনার স্ক্রিপ্ট প্রকল্প ব্যবহার এবং ভাগ করতে, নীচের পদক্ষেপগুলি অনুসরণ করুন৷

  1. আপনার স্ক্রিপ্টের একটি সংস্করণযুক্ত স্থাপনা তৈরি করুন
  2. লাইব্রেরির সমস্ত সম্ভাব্য ব্যবহারকারীদের সাথে অন্তত ভিউ-লেভেল অ্যাক্সেস শেয়ার করুন।
  3. সেই ব্যবহারকারীদের স্ক্রিপ্ট আইডি দিন, যা প্রজেক্ট সেটিংস পৃষ্ঠায় পাওয়া যাবে।

সর্বোত্তম অনুশীলন

একটি লাইব্রেরি লেখার সময় অনুসরণ করার জন্য এখানে কিছু নির্দেশিকা রয়েছে:

  1. আপনার প্রকল্পের জন্য একটি অর্থপূর্ণ নাম চয়ন করুন যেহেতু এটি ডিফল্ট শনাক্তকারী হিসাবে ব্যবহৃত হয় যখন আপনার লাইব্রেরি অন্যদের দ্বারা অন্তর্ভুক্ত করা হয়।
  2. আপনি যদি চান যে আপনার স্ক্রিপ্টের এক বা একাধিক পদ্ধতি আপনার লাইব্রেরি ব্যবহারকারীদের কাছে দৃশ্যমান (বা ব্যবহারযোগ্য) না হোক, আপনি একটি আন্ডারস্কোর দিয়ে পদ্ধতিটির নাম শেষ করতে পারেন। উদাহরণস্বরূপ, myPrivateMethod_()
  3. শুধুমাত্র গণনাযোগ্য বৈশ্বিক বৈশিষ্ট্য লাইব্রেরি ব্যবহারকারীদের কাছে দৃশ্যমান। এর মধ্যে রয়েছে ফাংশন ঘোষণা, var সহ একটি ফাংশনের বাইরে তৈরি ভেরিয়েবল এবং গ্লোবাল অবজেক্টে স্পষ্টভাবে সেট করা বৈশিষ্ট্য। উদাহরণ স্বরূপ, Object.defineProperty() একটি চিহ্ন তৈরি false enumerable আপনি আপনার লাইব্রেরিতে ব্যবহার করতে পারেন, কিন্তু এই প্রতীকটি আপনার ব্যবহারকারীদের দ্বারা অ্যাক্সেসযোগ্য নয়।
  4. আপনি যদি চান যে আপনার লাইব্রেরি ব্যবহারকারীরা স্ক্রিপ্ট এডিটর স্বয়ংসম্পূর্ণ এবং স্বয়ংক্রিয়ভাবে তৈরি হওয়া ডকুমেন্টেশন ব্যবহার করুক, আপনার কাছে অবশ্যই আপনার সমস্ত ফাংশনের জন্য JSDoc-স্টাইল ডকুমেন্টেশন থাকতে হবে। এখানে একটি উদাহরণ:

    /**
     * Raises a number to the given power, and returns the result.
     *
     * @param {number} base the number we're raising to a power
     * @param {number} exp the exponent we're raising the base to
     * @return {number} the result of the exponential calculation
     */
    function power(base, exp) { ... }
    

রিসোর্স স্কোপিং

আপনি যখন লাইব্রেরিগুলির সাথে কাজ করছেন তখন দুটি ধরণের সংস্থান রয়েছে: ভাগ করা এবং ভাগ করা নয়৷ একটি শেয়ার্ড রিসোর্স মানে হল যে লাইব্রেরি এবং সহ স্ক্রিপ্ট উভয়েরই রিসোর্সের একই উদাহরণে বিল্ট-ইন অ্যাক্সেস রয়েছে। নিম্নলিখিত চিত্রটি ব্যবহারকারীর বৈশিষ্ট্যগুলির উদাহরণ ব্যবহার করে একটি ভাগ করা সংস্থানকে চিত্রিত করে:

শেয়ার্ড রিসোর্স

একটি অ-ভাগ করা সম্পদের অর্থ হল যে লাইব্রেরি এবং সহ স্ক্রিপ্ট উভয়েরই শুধুমাত্র তাদের সম্পদের উদাহরণে বিল্ট-ইন অ্যাক্সেস রয়েছে। যাইহোক, একটি লাইব্রেরি তাদের উপর কাজ করে এমন সুস্পষ্ট ফাংশন থাকার দ্বারা তার অ-ভাগ করা সম্পদগুলিতে অ্যাক্সেস প্রদান করতে পারে। এখানে একটি ফাংশনের একটি উদাহরণ দেওয়া হল যা আপনি আপনার লাইব্রেরিতে অন্তর্ভুক্ত করবেন তার স্ক্রিপ্ট বৈশিষ্ট্যগুলি প্রকাশ করতে:

  function getLibraryProperty(key) {
    return ScriptProperties.getProperty(key);
  }

নিম্নলিখিত চিত্রটি স্ক্রিপ্ট বৈশিষ্ট্যের উদাহরণ ব্যবহার করে একটি অ-ভাগ করা সম্পদকে চিত্রিত করে:

নট-শেয়ারড রিসোর্স

এই টেবিলটি আপনার রেফারেন্সের জন্য ভাগ করা এবং ভাগ করা নয় এমন সংস্থানগুলির তালিকা করে:

সম্পদ ভাগ করা* শেয়ার করা হয়নি** নোট
তালা লাইব্রেরিতে তৈরি করা হলে স্ক্রিপ্ট সহ সকলের কাছে একই উদাহরণ দৃশ্যমান।
স্ক্রিপ্ট বৈশিষ্ট্য লাইব্রেরিতে তৈরি করা হলে স্ক্রিপ্ট সহ সকলের কাছে একই উদাহরণ দৃশ্যমান।
ক্যাশে লাইব্রেরিতে তৈরি করা হলে স্ক্রিপ্ট সহ সকলের কাছে একই উদাহরণ দৃশ্যমান।
ট্রিগার লাইব্রেরিতে তৈরি করা সহজ ট্রিগারগুলি সহ স্ক্রিপ্ট দ্বারা ট্রিগার হয় না।
স্ক্রিপ্টঅ্যাপ
UiApp
ব্যবহারকারীর বৈশিষ্ট্য
লগার এবং এক্সিকিউশন ট্রান্সক্রিপ্ট
সাইট, শীট এবং অন্যান্য পাত্রে getActive() এ একটি কল সহ স্ক্রিপ্টের ধারকটি ফেরত দেয়।
MailApp এবং GmailApp
* এর মানে হল যে লাইব্রেরির নিজস্ব বৈশিষ্ট্য/সংস্থানের দৃষ্টান্ত নেই এবং পরিবর্তে স্ক্রিপ্ট দ্বারা তৈরি একটি ব্যবহার করছে যা এটিকে আহ্বান করেছে।
** এর মানে হল যে লাইব্রেরির সম্পদ/বৈশিষ্ট্যের নিজস্ব উদাহরণ রয়েছে এবং যে সমস্ত স্ক্রিপ্টগুলি লাইব্রেরি শেয়ার ব্যবহার করে এবং একই উদাহরণে অ্যাক্সেস রয়েছে।

একটি লাইব্রেরি পরীক্ষা করুন

আপনার লাইব্রেরি পরীক্ষা করতে, হেড ডিপ্লয়মেন্ট ব্যবহার করুন। স্ক্রিপ্টে সম্পাদক-স্তরের অ্যাক্সেস আছে এমন যে কেউ হেড ডিপ্লয়মেন্ট ব্যবহার করতে পারেন।

একটি লাইব্রেরি ডিবাগ করুন

আপনি যখন একটি লাইব্রেরি অন্তর্ভুক্ত একটি প্রকল্পে ডিবাগার ব্যবহার করেন তখন আপনি অন্তর্ভুক্ত লাইব্রেরির একটি ফাংশনে যেতে পারেন। কোডটি ডিবাগারে শুধুমাত্র-দর্শন মোডে এবং সঠিক সংস্করণে প্রদর্শিত হয়।

,

একটি লাইব্রেরি একটি স্ক্রিপ্ট প্রকল্প যার ফাংশন অন্যান্য স্ক্রিপ্টে পুনরায় ব্যবহার করা যেতে পারে।

একটি লাইব্রেরি অ্যাক্সেস লাভ

আপনার প্রজেক্টে একটি লাইব্রেরি অন্তর্ভুক্ত করার জন্য আপনার এটিতে কমপক্ষে ভিউ-লেভেল অ্যাক্সেস থাকতে হবে। আপনি যে লাইব্রেরির লেখক না হন যেটি আপনি অন্তর্ভুক্ত করতে চান, লেখকের সাথে যোগাযোগ করুন এবং অ্যাক্সেসের অনুরোধ করুন।

আপনি যে লাইব্রেরিটি অন্তর্ভুক্ত করতে চান তার স্ক্রিপ্ট আইডি প্রয়োজন৷ যখন আপনার লাইব্রেরিতে অ্যাক্সেস থাকে, আপনি প্রকল্প সেটিংস পৃষ্ঠায় স্ক্রিপ্ট আইডি খুঁজে পেতে পারেন।

আপনার স্ক্রিপ্ট প্রকল্পে একটি লাইব্রেরি যোগ করুন

  1. Apps স্ক্রিপ্ট সম্পাদকের বাম দিকে, "লাইব্রেরি" এর পাশে, একটি লাইব্রেরি করুন এ ক্লিক করুন।
  2. "স্ক্রিপ্ট আইডি" ক্ষেত্রে, লাইব্রেরির স্ক্রিপ্ট আইডি পেস্ট করুন।
  3. দেখুন ক্লিক করুন.
  4. সংস্করণ ড্রপডাউনে ক্লিক করুন এবং ব্যবহার করার জন্য লাইব্রেরির সংস্করণ নির্বাচন করুন।
  5. ডিফল্ট "আইডেন্টিফায়ার" নামটি আপনি এই লাইব্রেরির সাথে ব্যবহার করতে চান কিনা তা দেখতে পরীক্ষা করুন৷ এটি সেই নাম যা আপনার স্ক্রিপ্ট লাইব্রেরির উল্লেখ করতে ব্যবহার করে। উদাহরণস্বরূপ, যদি আপনি এটিকে Test সেট করেন তবে আপনি সেই লাইব্রেরির একটি পদ্ধতিকে নিম্নরূপ কল করতে পারেন: Test.libraryMethod()
  6. যোগ করুন ক্লিক করুন.

একটি লাইব্রেরি ব্যবহার করুন

আপনি একটি ডিফল্ট পরিষেবা ব্যবহার করবেন হিসাবে আপনার অন্তর্ভুক্ত লাইব্রেরি ব্যবহার করুন. উদাহরণ স্বরূপ, যদি Test আপনার লাইব্রেরির শনাক্তকারী হয়, তাহলে লাইব্রেরিতে পদ্ধতির তালিকা দেখতে একটি পিরিয়ডের পরে Test টাইপ করুন।

একটি অন্তর্ভুক্ত লাইব্রেরির জন্য রেফারেন্স ডকুমেন্টেশন এই পদক্ষেপগুলি অনুসরণ করে খোলা যেতে পারে:

স্ক্রিপ্ট এডিটরের বাম দিকে, লাইব্রেরির নামের পাশে, More > একটি নতুন ট্যাবে খুলুন ক্লিক করুন।

একটি লাইব্রেরি সরান

স্ক্রিপ্ট এডিটরের বাম দিকে, লাইব্রেরির নামের পাশে, More > Remove > Remove library এ ক্লিক করুন।

একটি লাইব্রেরি আপডেট করুন

আপনি লাইব্রেরির সংস্করণ পরিবর্তন করতে পারেন বা এর শনাক্তকারী আপডেট করতে পারেন।

  1. সম্পাদকের বাম দিকে, "লাইব্রেরি" এর অধীনে লাইব্রেরির নামে ক্লিক করুন৷
  2. আপনার পরিবর্তন করুন এবং সংরক্ষণ করুন ক্লিক করুন.

একটি লাইব্রেরি তৈরি করুন এবং ভাগ করুন

একটি লাইব্রেরি হিসাবে আপনার স্ক্রিপ্ট প্রকল্প ব্যবহার এবং ভাগ করতে, নীচের পদক্ষেপগুলি অনুসরণ করুন৷

  1. আপনার স্ক্রিপ্টের একটি সংস্করণযুক্ত স্থাপনা তৈরি করুন
  2. লাইব্রেরির সমস্ত সম্ভাব্য ব্যবহারকারীদের সাথে অন্তত ভিউ-লেভেল অ্যাক্সেস শেয়ার করুন।
  3. সেই ব্যবহারকারীদের স্ক্রিপ্ট আইডি দিন, যা প্রজেক্ট সেটিংস পৃষ্ঠায় পাওয়া যাবে।

সর্বোত্তম অনুশীলন

একটি লাইব্রেরি লেখার সময় অনুসরণ করার জন্য এখানে কিছু নির্দেশিকা রয়েছে:

  1. আপনার প্রকল্পের জন্য একটি অর্থপূর্ণ নাম চয়ন করুন যেহেতু এটি ডিফল্ট শনাক্তকারী হিসাবে ব্যবহৃত হয় যখন আপনার লাইব্রেরি অন্যদের দ্বারা অন্তর্ভুক্ত করা হয়।
  2. আপনি যদি চান যে আপনার স্ক্রিপ্টের এক বা একাধিক পদ্ধতি আপনার লাইব্রেরি ব্যবহারকারীদের কাছে দৃশ্যমান (বা ব্যবহারযোগ্য) না হোক, আপনি একটি আন্ডারস্কোর দিয়ে পদ্ধতিটির নাম শেষ করতে পারেন। উদাহরণস্বরূপ, myPrivateMethod_()
  3. শুধুমাত্র গণনাযোগ্য বৈশ্বিক বৈশিষ্ট্য লাইব্রেরি ব্যবহারকারীদের কাছে দৃশ্যমান। এর মধ্যে রয়েছে ফাংশন ঘোষণা, var সহ একটি ফাংশনের বাইরে তৈরি ভেরিয়েবল এবং গ্লোবাল অবজেক্টে স্পষ্টভাবে সেট করা বৈশিষ্ট্য। উদাহরণ স্বরূপ, Object.defineProperty() একটি চিহ্ন তৈরি false enumerable আপনি আপনার লাইব্রেরিতে ব্যবহার করতে পারেন, কিন্তু এই প্রতীকটি আপনার ব্যবহারকারীদের দ্বারা অ্যাক্সেসযোগ্য নয়।
  4. আপনি যদি চান যে আপনার লাইব্রেরি ব্যবহারকারীরা স্ক্রিপ্ট এডিটর স্বয়ংসম্পূর্ণ এবং স্বয়ংক্রিয়ভাবে তৈরি হওয়া ডকুমেন্টেশন ব্যবহার করুক, আপনার কাছে অবশ্যই আপনার সমস্ত ফাংশনের জন্য JSDoc-স্টাইল ডকুমেন্টেশন থাকতে হবে। এখানে একটি উদাহরণ:

    /**
     * Raises a number to the given power, and returns the result.
     *
     * @param {number} base the number we're raising to a power
     * @param {number} exp the exponent we're raising the base to
     * @return {number} the result of the exponential calculation
     */
    function power(base, exp) { ... }
    

রিসোর্স স্কোপিং

আপনি যখন লাইব্রেরিগুলির সাথে কাজ করছেন তখন দুটি ধরণের সংস্থান রয়েছে: ভাগ করা এবং ভাগ করা নয়৷ একটি শেয়ার্ড রিসোর্স মানে হল যে লাইব্রেরি এবং সহ স্ক্রিপ্ট উভয়েরই রিসোর্সের একই উদাহরণে বিল্ট-ইন অ্যাক্সেস রয়েছে। নিম্নলিখিত চিত্রটি ব্যবহারকারীর বৈশিষ্ট্যগুলির উদাহরণ ব্যবহার করে একটি ভাগ করা সংস্থানকে চিত্রিত করে:

শেয়ার্ড রিসোর্স

একটি অ-ভাগ করা সম্পদের অর্থ হল যে লাইব্রেরি এবং সহ স্ক্রিপ্ট উভয়েরই শুধুমাত্র তাদের সম্পদের উদাহরণে বিল্ট-ইন অ্যাক্সেস রয়েছে। যাইহোক, একটি লাইব্রেরি তাদের উপর কাজ করে এমন সুস্পষ্ট ফাংশন থাকার দ্বারা তার অ-ভাগ করা সম্পদগুলিতে অ্যাক্সেস প্রদান করতে পারে। এখানে একটি ফাংশনের একটি উদাহরণ দেওয়া হল যা আপনি আপনার লাইব্রেরিতে অন্তর্ভুক্ত করবেন তার স্ক্রিপ্ট বৈশিষ্ট্যগুলি প্রকাশ করতে:

  function getLibraryProperty(key) {
    return ScriptProperties.getProperty(key);
  }

নিম্নলিখিত চিত্রটি স্ক্রিপ্ট বৈশিষ্ট্যের উদাহরণ ব্যবহার করে একটি অ-ভাগ করা সম্পদকে চিত্রিত করে:

নট-শেয়ারড রিসোর্স

এই টেবিলটি আপনার রেফারেন্সের জন্য ভাগ করা এবং ভাগ করা নয় এমন সংস্থানগুলির তালিকা করে:

সম্পদ ভাগ করা* শেয়ার করা হয়নি** নোট
তালা লাইব্রেরিতে তৈরি করা হলে স্ক্রিপ্ট সহ সকলের কাছে একই উদাহরণ দৃশ্যমান।
স্ক্রিপ্ট বৈশিষ্ট্য লাইব্রেরিতে তৈরি করা হলে স্ক্রিপ্ট সহ সকলের কাছে একই উদাহরণ দৃশ্যমান।
ক্যাশে লাইব্রেরিতে তৈরি করা হলে স্ক্রিপ্ট সহ সকলের কাছে একই উদাহরণ দৃশ্যমান।
ট্রিগার লাইব্রেরিতে তৈরি করা সহজ ট্রিগারগুলি সহ স্ক্রিপ্ট দ্বারা ট্রিগার হয় না।
স্ক্রিপ্টঅ্যাপ
UiApp
ব্যবহারকারীর বৈশিষ্ট্য
লগার এবং এক্সিকিউশন ট্রান্সক্রিপ্ট
সাইট, শীট এবং অন্যান্য পাত্রে getActive() এ একটি কল সহ স্ক্রিপ্টের ধারকটি ফেরত দেয়।
MailApp এবং GmailApp
* এর মানে হল যে লাইব্রেরির নিজস্ব বৈশিষ্ট্য/সংস্থানের দৃষ্টান্ত নেই এবং পরিবর্তে স্ক্রিপ্ট দ্বারা তৈরি একটি ব্যবহার করছে যা এটিকে আহ্বান করেছে।
** এর মানে হল যে লাইব্রেরির সম্পদ/বৈশিষ্ট্যের নিজস্ব উদাহরণ রয়েছে এবং যে সমস্ত স্ক্রিপ্টগুলি লাইব্রেরি শেয়ার ব্যবহার করে এবং একই উদাহরণে অ্যাক্সেস রয়েছে।

একটি লাইব্রেরি পরীক্ষা করুন

আপনার লাইব্রেরি পরীক্ষা করতে, হেড ডিপ্লয়মেন্ট ব্যবহার করুন। স্ক্রিপ্টে সম্পাদক-স্তরের অ্যাক্সেস আছে এমন যে কেউ হেড ডিপ্লয়মেন্ট ব্যবহার করতে পারেন।

একটি লাইব্রেরি ডিবাগ করুন

আপনি যখন একটি লাইব্রেরি অন্তর্ভুক্ত একটি প্রকল্পে ডিবাগার ব্যবহার করেন তখন আপনি অন্তর্ভুক্ত লাইব্রেরির একটি ফাংশনে যেতে পারেন। কোডটি ডিবাগারে শুধুমাত্র-দর্শন মোডে এবং সঠিক সংস্করণে প্রদর্শিত হয়।