Q ভাষায় ফাংশন হল একটি ব্লক যা একাধিক অপারেশন বা কমান্ড একত্রিত করে একটি নির্দিষ্ট কাজ সম্পন্ন করে। ফাংশন ডিক্লারেশন এবং ব্যবহার করা Q ভাষায় খুবই সহজ এবং সুবিধাজনক। এটি ব্যবহারকারীকে পুনরায় ব্যবহারযোগ্য কোড তৈরি করতে সহায়তা করে।
Q ভাষায় ফাংশন ডিক্লারেশন করতে {} ব্রেস ব্যবহার করা হয়। নিচে ফাংশন ডিক্লারেশন এবং তার ব্যবহার সম্পর্কিত কিছু মৌলিক ধারণা দেওয়া হলো।
১. ফাংশন ডিক্লারেশন
Q ভাষায় ফাংশন ডিক্লারেশন খুবই সরল। ফাংশনটি ডিক্লেয়ার করার সময় {} ব্রেস ব্যবহার করতে হয় এবং ফাংশনের নামের পরে আর্গুমেন্ট দেওয়ার মাধ্যমে তার আউটপুট সংজ্ঞায়িত করা হয়।
সাধারণ সিনট্যাক্স:
function_name: {function_body}function_name এখানে ফাংশনের নাম এবং function_body হল সেই কোড বা এক্সপ্রেশন যা ফাংশনটি কার্যকর করবে।
উদাহরণ:
add: {x + y} / দুটি সংখ্যার যোগফল দেওয়ার জন্য একটি ফাংশনএখানে, add হল ফাংশনের নাম, এবং {x + y} হল ফাংশনের কাজ, যা দুটি আর্গুমেন্ট x এবং y এর যোগফল প্রদান করবে।
২. ফাংশন ব্যবহার
ফাংশন ব্যবহারের জন্য ফাংশনের নাম দিয়ে আর্গুমেন্ট পাস করতে হয়।
উদাহরণ:
result: add 3 5 / ফলাফল: 8এখানে add ফাংশনটি ৩ এবং ৫ প্যারামিটার পেয়ে তাদের যোগফল হিসেবে ৮ প্রদান করবে।
৩. ফাংশনের আর্গুমেন্ট
Q ভাষায় ফাংশনের আর্গুমেন্টগুলি সাধারণত লিখিত নাম দিয়ে নির্দেশিত হয়, এবং আর্গুমেন্টের মান ফাংশন কলের সময় পাস করা হয়।
উদাহরণ:
multiply: {x * y} / একটি ফাংশন যা দুটি সংখ্যাকে গুণ করবে
result: multiply 4 6 / ফলাফল: 24৪. একাধিক আর্গুমেন্ট ব্যবহার
Q ভাষায় একাধিক আর্গুমেন্ট পাস করা যায়। ফাংশনের মধ্যে একাধিক আর্গুমেন্ট গ্রহণ করার জন্য তাদের নাম দেওয়া হয়।
উদাহরণ:
sum: {x + y + z} / একটি ফাংশন যা তিনটি সংখ্যার যোগফল প্রদান করবে
result: sum 1 2 3 / ফলাফল: 6এখানে sum ফাংশনটি তিনটি আর্গুমেন্ট পেয়ে তাদের যোগফল হিসেবে ৬ প্রদান করেছে।
৫. ফাংশনে ডিফল্ট মান (Default Values)
Q ভাষায় ফাংশনে ডিফল্ট মান নির্ধারণ করা সম্ভব। যদি একটি আর্গুমেন্ট না পাঠানো হয়, তবে তা ডিফল্ট মান নিয়ে আসবে।
উদাহরণ:
greet: {name: "Guest"; "Hello, " , name} / ডিফল্ট মান 'Guest'
result: greet "Alice" / ফলাফল: "Hello, Alice"
defaultResult: greet / ফলাফল: "Hello, Guest"এখানে, name আর্গুমেন্টের ডিফল্ট মান "Guest" দেয়া হয়েছে। যদি ফাংশনটি কোনো আর্গুমেন্ট ছাড়াই কল করা হয়, তাহলে ডিফল্ট মান হিসেবে "Guest" ব্যবহার হবে।
৬. ফাংশনে শর্ত (Conditions) এবং লুপ (Loops)
Q ভাষায় ফাংশনের মধ্যে শর্ত এবং লুপ ব্যবহার করা যায়। শর্তাবলী (if/else) এবং লুপ (যেমন each, while) ব্যবহার করে ফাংশনের কাজকে আরও গতিশীল করা যায়।
উদাহরণ (শর্ত):
maxNum: {if x > y then x else y} / বড় সংখ্যা নির্ধারণের ফাংশন
result: maxNum 10 5 / ফলাফল: 10উদাহরণ (লুপ):
sumList: {sum each x} / একটি লিস্টের সকল উপাদান যোগ করা
result: sumList 1 2 3 4 5 / ফলাফল: 15৭. ফাংশন ভেরিয়েবল ব্যবহার
Q ভাষায় ফাংশনের মধ্যে ভেরিয়েবল ব্যবহার করা সম্ভব, যা ফাংশনটির কাজকে আরও সাবলীল এবং শক্তিশালী করে।
উদাহরণ:
multiplyWithFactor: {factor: 2; x * factor} / ফাংশনটি একটি ফ্যাক্টর দিয়ে গুণ করবে
result: multiplyWithFactor 4 / ফলাফল: 8 (4 * 2)এখানে, multiplyWithFactor ফাংশনটির মধ্যে factor নামক একটি ভেরিয়েবল আছে যার মান ডিফল্টভাবে 2।
সারসংক্ষেপ
Q ভাষায় ফাংশন ডিক্লারেশন খুবই সরল এবং শক্তিশালী। এটি সুনির্দিষ্ট কাজ করতে পারে এবং একাধিক আর্গুমেন্ট নিয়ে কাজ করে। ফাংশন ব্যবহারে কোড পুনঃব্যবহারযোগ্য হয় এবং ডেটা প্রক্রিয়াকরণের কাজ আরও দ্রুত ও কার্যকরী হয়ে ওঠে। শর্ত এবং লুপ ব্যবহার করে ফাংশন আরও জটিল হতে পারে এবং ডিফল্ট মান সহ ফাংশন ব্যবহারে এর কার্যকারিতা আরও বাড়ানো যায়।
Read more