এই নথিটি সংযোগ চেক ব্যবহার করার উপায় দেখায়।
মূল্য উদাহরণ
আপনি যখন ইনপুট এবং আউটপুটগুলির জন্য সংযোগ চেকগুলিকে সংজ্ঞায়িত করছেন, সাধারণত আপনার চেকগুলিকে প্রতিনিধিত্বকারী প্রকার হিসাবে ভাবতে হবে৷
ইনপুট চেকের প্রতিটি "টাইপ" অন্তর্ভুক্ত করা উচিত যা তারা গ্রহণ করে, এবং আউটপুট চেকগুলিতে তারা যা "ফেরত" তা অন্তর্ভুক্ত করা উচিত।
একটি একক টাইপ গ্রহণ করুন
সবচেয়ে মৌলিক ক্ষেত্রে যেখানে আপনি একটি ব্লক তৈরি করতে চান যা এক প্রকার "স্বীকার করে" বা "ফেরত" দেয়, আপনাকে সংযোগের সংযোগ পরীক্ষায় সেই প্রকারটি অন্তর্ভুক্ত করতে হবে।
একাধিক প্রকার গ্রহণ করুন
একটি ব্লক তৈরি করতে যা একাধিক প্রকার "স্বীকার করে", আপনাকে ইনপুটের সংযোগ পরীক্ষায় প্রতিটি স্বীকৃত প্রকার অন্তর্ভুক্ত করতে হবে।
নিয়ম অনুসারে, যদি একটি আউটপুট কখনও কখনও একাধিক পরিস্থিতিতে গ্রহণ করা যায় (যেমন যদি আপনি সংখ্যাগুলিকে কখনও কখনও স্ট্রিং হিসাবে ব্যবহার করার অনুমতি দেন) আউটপুটটি আরও সীমাবদ্ধ হওয়া উচিত এবং ইনপুট(গুলি) আরও অনুমোদনযোগ্য হওয়া উচিত। এই কনভেনশন নিশ্চিত করে যে আউটপুটগুলি যেখানে সমর্থিত নয় সেখানে সংযোগ না করে।
যে কোনো ধরনের গ্রহণ করুন
একটি ব্লক তৈরি করতে যা যেকোনো ধরনের "স্বীকার করে", আপনাকে ইনপুটের সংযোগ চেক null
এ সেট করতে হবে।
সাবটাইপগুলি ফেরত দিন
একটি ব্লক তৈরি করতে যা একটি সাব-টাইপ "রিটার্ন" করে, আপনাকে আউটপুটের সংযোগ পরীক্ষায় টাইপ এবং সুপারটাইপ উভয়ই অন্তর্ভুক্ত করতে হবে।
সাব-টাইপের ক্ষেত্রে, একটি আউটপুট চেক-এ একাধিক চেক করা ঠিক আছে, কারণ ব্লক সবসময় উভয় ধরনের "রিটার্ন" করে।
প্যারামিটারাইজড প্রকার রিটার্ন করুন
একটি ব্লক তৈরি করতে যা একটি প্যারামিটারাইজড টাইপ "রিটার্ন" করে, আপনাকে আউটপুটের সংযোগ পরীক্ষায় প্যারামিটারাইজড সংস্করণ এবং আনপ্যারামিটারাইজড সংস্করণ উভয়ই অন্তর্ভুক্ত করতে হবে।
আপনি আপনার ব্লকের ভাষা কতটা কঠোর হতে চান তার উপর নির্ভর করে, আপনি প্রকারের ভিন্নতা(গুলি) অন্তর্ভুক্ত করতে চাইতে পারেন।
সাব-টাইপের মতোই, এই ক্ষেত্রে একটি আউটপুট চেকের একাধিক চেক করা ঠিক আছে, কারণ ব্লক সবসময় উভয় প্রকারকে "রিটার্ন" করে।
স্ট্যাক বা বিবৃতি উদাহরণ
বিকাশকারীরা পূর্ববর্তী এবং পরবর্তী সংযোগগুলির জন্য চেকগুলিকে সংজ্ঞায়িত করার কয়েকটি সাধারণ উপায় রয়েছে৷ সাধারণত আপনি এগুলিকে ব্লকের ক্রম সীমাবদ্ধ হিসাবে মনে করেন।
পরবর্তী সংযোগগুলির মধ্যে বর্তমান ব্লকগুলিকে অনুসরণ করা উচিত এবং পূর্ববর্তী সংযোগগুলির মধ্যে বর্তমান ব্লক "কি" অন্তর্ভুক্ত করা উচিত।
ক্রমানুসারে ব্লক রাখুন
একটি সংজ্ঞায়িত ক্রমে সংযোগকারী ব্লকগুলির একটি সেট তৈরি করতে, আপনাকে পরবর্তী সংযোগ পরীক্ষায় কোন ব্লকগুলি বর্তমানটিকে অনুসরণ করতে হবে এবং পূর্ববর্তী সংযোগ পরীক্ষায় বর্তমান ব্লকটি "কী" তা অন্তর্ভুক্ত করতে হবে।
অনেক মধ্যম ব্লকের অনুমতি দিন
অর্ডার করা ব্লকের একটি সেট তৈরি করতে যা প্রচুর মধ্যম ব্লকের অনুমতি দেয়, আপনাকে মধ্য ব্লকের পরবর্তী সংযোগ চেক-এ মধ্যম ব্লকের পূর্ববর্তী সংযোগ চেক থেকে অন্তত একটি এন্ট্রি অন্তর্ভুক্ত করতে হবে। এটি ব্লকটিকে আরও নিজের দ্বারা অনুসরণ করার অনুমতি দেয়।
কোনো মধ্যবর্তী ব্লকের অনুমতি দিন
অর্ডারকৃত ব্লকের একটি সেট তৈরি করতে যেখানে মাঝের ব্লকগুলি ঐচ্ছিক, আপনাকে মধ্যম ব্লকের পূর্ববর্তী সংযোগ পরীক্ষা এবং প্রথম ব্লকের পরবর্তী সংযোগ পরীক্ষায় শেষ ব্লকের পূর্ববর্তী সংযোগ পরীক্ষা উভয় থেকে অন্তত একটি এন্ট্রি অন্তর্ভুক্ত করতে হবে। এটি প্রথম ব্লককে মধ্যবর্তী ব্লক বা শেষ ব্লক দ্বারা অনুসরণ করার অনুমতি দেয়।
হয়-বা স্ট্যাক
একটি ব্লক তৈরি করতে যা শুধুমাত্র একটি গ্রুপের ব্লক দ্বারা অনুসরণ করা যেতে পারে, বা অন্য গ্রুপ থেকে ব্লক (এবং উভয় নয়), আপনাকে দুটি জিনিস করতে হবে:
আপনাকে প্রথম ব্লকের পরবর্তী সংযোগ পরীক্ষায় পূর্ববর্তী সংযোগ পরীক্ষা উভয় গ্রুপ থেকে অন্তত একটি এন্ট্রি অন্তর্ভুক্ত করতে হবে।
আপনাকে গোষ্ঠীগুলির পরবর্তী সংযোগ চেকগুলিকে সংজ্ঞায়িত করতে হবে শুধুমাত্র তাদের পূর্ববর্তী সংযোগ চেকগুলিতে থাকা মানগুলি অন্তর্ভুক্ত করার জন্য (তাই সেগুলি শুধুমাত্র একই গ্রুপের ব্লক দ্বারা অনুসরণ করা যেতে পারে)।