উইকিফাংশন:কিভাবে বাস্তবায়ন তৈরি করবেন

From Wikifunctions
This page is a translated version of the page Wikifunctions:How to create implementations and the translation is 98% complete.

এই পৃষ্ঠাটি Wikifunctions:Introduction এ প্রদত্ত সংক্ষিপ্তসারের তুলনায় একটি বাস্তবায়ন তৈরি করা সম্পর্কিত আরও বিস্তারিত নির্দেশিকা প্রদান করে।

পাইথনে কোড

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

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

বাস্তবায়নের সংজ্ঞা দেওয়া হয় ফাংশনের Z-আইডি ব্যবহার করে। একই ভাবে ফাংশনের আর্গুমেন্টও গুলোকেও। সুতরাং ফাংশন Z11057 এর ক্ষেত্রে তার দুটি আর্গুমেন্ট সহ, প্রথম লাইনটি দেখতে হবে:

def Z11057(Z11057K1, Z11057K2):

দ্রষ্টব্য: আমরা ভবিষ্যতে Z-আইডিগুলি লুকানোর পরিকল্পনা করছি।

আপনি যখন প্রোগ্রামিং ভাষা হিসেবে পাইথনকে বেছে নেবেন, তখন প্রথম লাইনটি আপনার জন্য স্বয়ংক্রিয়ভাবে তৈরি করা হবে। আপনাকে শুধুমাত্র ফাংশন বডি যোগ করতে হবে।

এর নীচে, আপনি স্বাভাবিক ভাবেই পাইথনে কোডটি লিখবেন। পার্থক্য এটাই যে এখানে ভেরিয়েবলগুলি কিছুটা আলাদা দেখে। এই ক্ষেত্রে এটা হতে পারে, উদাহরণস্বরূপ:

  return Z11057K1 + " " + Z11057K2

যেহেতু এটি পাইথন, তাই এই লাইনটি ইন্ডেন্ট করতে ভুলবেন না।

আপনার যদি ইতিমধ্যেই কোনো পরীক্ষার ক্ষেত্র থাকে (এবং প্রথমে পরীক্ষা তৈরি করা একটি ভাল অভ্যাস) তাহলে পরীক্ষার ক্ষেত্রগুলোর মধ্যে বৃত্তাকার তীরের উপর ক্লিক করুন এবং দেখুন যে আপনার বাস্তবায়ন পরীক্ষায় উত্তীর্ণ হয়েছে কিনা।

মনে রাখবেন যে রানটাইমের কোনও অবস্থা নেই। গ্লোবাল বা স্ট্যাটিক ভেরিয়েবলের মান ধরে নেবেন না। পাইথনে কী করতে পারেন এবং কী করতে পারেন না সে সম্পর্কে আপনার যদি আরও প্রশ্ন থাকে, তাহলে Wikifunctions:Python implementations পাতায় জিজ্ঞাসা করুন।

জাভাস্ক্রিপ্ট দ্বারা কোড

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

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

বাস্তবায়নের সংজ্ঞা দেওয়া হয় ফাংশনের Z-আইডি ব্যবহার করে। একই ভাবে ফাংশনের আর্গুমেন্টও গুলোকেও। সুতরাং ফাংশন Z11057 এর ক্ষেত্রে তার দুটি আর্গুমেন্ট সহ, প্রথম লাইনটি দেখতে হবে:

function Z11057( Z11057K1, Z11057K2 ){

দ্রষ্টব্য: আমরা ভবিষ্যতে Z-আইডিগুলি লুকানোর পরিকল্পনা করছি।

বাস্তবায়নটি অবশ্যই শেষ বন্ধনী দ্বারা সমাপ্ত হতে হবে, সেই বন্ধনী যেটির শুরু হয়েছে কোডর প্রথম লাইনে।

প্রোগ্রামিং ভাষা হিসেবে জাভাস্ক্রিপ্ট নির্বাচন করার পর এটি আপনার জন্য স্বয়ংক্রিয়ভাবে তৈরি করা হবে। আপনাকে শুধুমাত্র ফাংশন বডি যোগ করতে হবে।

বন্ধনীগুলোর ভিতরে আপনি স্বাভাবিক ভাবেই জাভাস্ক্রিপ্টে কোডটি লিখবেন। পার্থক্য এটাই যে এখানে ভেরিয়েবলগুলি কিছুটা আলাদা দেখে। এই ক্ষেত্রে এটা হতে পারে, উদাহরণস্বরূপ:

  return Z11057K1 + " " + Z11057K2;

আপনার যদি ইতিমধ্যেই কোনো পরীক্ষার ক্ষেত্র থাকে (এবং প্রথমে পরীক্ষা তৈরি করা একটি ভাল অভ্যাস) তাহলে পরীক্ষার ক্ষেত্রগুলোর মধ্যে বৃত্তাকার তীরের উপর ক্লিক করুন এবং দেখুন যে আপনার বাস্তবায়ন পরীক্ষায় উত্তীর্ণ হয়েছে কিনা।

মনে রাখবেন যে রানটাইমের কোনও অবস্থা নেই। গ্লোবাল বা স্ট্যাটিক ভেরিয়েবলের মান ধরে নেবেন না। আপনি জাভাস্ক্রিপ্টে কী করতে পারেন এবং কী করতে পারেন না সে সম্পর্কে আপনার যদি আরও প্রশ্ন থাকে, তাহলে Wikifunctions:JavaScript implementations-এ জিজ্ঞাসা করুন।

ফাংশন প্রণয়ন

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

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

For example, for the given Function, we could use the existing Function to concatenate strings. That Function takes two strings and makes one string out of them. But we need to add a space in between. So we first concatenate a space to the end of the first string, and then concatenate the second string to the result of that first concatenation. So our composition could be noted down like this:

concatenate(concatenate(Z11057K1, " ["), Z11057K2).

এই কাজটি করার জন্য:

  1. লাল রঙের ফাংশন নির্বাচন বোতামে ক্লিক করুন।
  2. আমরা যে ফাংশনটি নির্বাচন করতে চাই তার নাম লিখুন, অর্থাৎ "সংহতকরণ" এবং সেটি নির্বাচন করুন।
  3. বাইরের সংহতকরণের প্রথম আর্গুমেন্ট হল একটি ফাংশন কল নিজেই। এটি করার জন্য > তে শেষ থেকে শুরু পর্যন্ত ক্লিক করুন।
  4. এখন প্রথমটির ধরনের মনে ক্লিক করুন। বর্তমানে এটি অক্ষরসারি (স্ট্রিং) দেখাচ্ছে।
  5. আপনি চারটি বিকল্প দেখতে পাবেন। ফাংশন কল নির্বাচন করুন।
  6. এখন, অভ্যন্তরীণ ফাংশন নির্বাচন করুন। অর্থাৎ, আবারও সংহতকরন।
  7. প্রথম আর্গুমেন্টটি অভ্যন্তরীণ সংহতকরনের প্রথম আর্গুমেন্ট হবে। তাই আবারও > তে শেষ থেকে শুরু পর্যন্ত ক্লিক করুন।
  8. অক্ষরসারি (স্ট্রিং) প্রদর্শিত ড্রপডাউন বাক্সে ক্লিক করুন।
  9. আর্গুমেন্ট তথ্যসূত্র নির্বাচন করুন।
  10. প্রথম আর্গুমেন্টের নির্দেশক আইডি (key ID) লিখুন, যা এই ক্ষেত্রে Z11057K1 (আপনি ফাংশন পৃষ্ঠায় এটি দেখতে পারেন) । ভবিষ্যতে এটি একটি ড্রপ-ডাউন বাক্সে পরিণত হবে।
  11. অভ্যন্তরীণ ক্ষেত্রের দ্বিতীয়টির (বাইরেরটি নয়) মধ্যে একটি খালি অক্ষর লিখুন। এটি মূলত অদৃশ্য থাকবে।
  12. আপনার যদি ইতিমধ্যেই কোনো পরীক্ষার ক্ষেত্র থাকে (এবং প্রথমে পরীক্ষা তৈরি করা একটি ভাল অভ্যাস) তাহলে পরীক্ষার ক্ষেত্রগুলোর মধ্যে বৃত্তাকার তীরের উপর ক্লিক করুন এবং দেখুন যে আপনার বাস্তবায়ন পরীক্ষায় উত্তীর্ণ হয়েছে কিনা।
  13. এখন দ্বিতীয় আর্গুমেন্ট যোগ করুন। বাইরের দ্বিতীয় আর্গুমেন্টের জন্য, এর পাশে > নির্বাচন করুন।
  14. অক্ষরসারি (স্ট্রিং) প্রদর্শিত ড্রপডাউন বাক্সে ক্লিক করুন।
  15. আর্গুমেন্ট তথ্যসূত্র নির্বাচন করুন।
  16. প্রথম আর্গুমেন্টের নির্দেশক আইডি (key ID) লিখুন, যা এই ক্ষেত্রে Z11057K2 (আপনি ফাংশন পৃষ্ঠায় এটি দেখতে পারেন) । ভবিষ্যতে এটি একটি ড্রপ-ডাউন বাক্সে পরিণত হবে।
  17. আপনার যদি ইতিমধ্যেই কোনো পরীক্ষার ক্ষেত্র থাকে (এবং প্রথমে পরীক্ষা তৈরি করা একটি ভাল অভ্যাস) তাহলে পরীক্ষার ক্ষেত্রগুলোর মধ্যে বৃত্তাকার তীরের ⎋ উপর ক্লিক করুন এবং দেখুন যে আপনার বাস্তবায়ন পরীক্ষায় উত্তীর্ণ হয়েছে কিনা।

ফাংশন প্রণয়নটি পরীক্ষায় উত্তীর্ণ হলে আপনি তা প্রকাশ করতে পারেন।