লুয়া (Lua) ভাষায় ফাংশন হল একটি কোড ব্লক যা একটি নির্দিষ্ট কাজ সম্পাদন করতে ব্যবহৃত হয়। ফাংশনে প্যারামিটার (parameters) এবং রিটার্ন ভ্যালু (return values) ব্যবহার করে ইনপুট এবং আউটপুট পরিচালনা করা হয়। এই টিউটোরিয়ালে আমরা ফাংশনের প্যারামিটার এবং রিটার্ন ভ্যালু কীভাবে কাজ করে এবং কীভাবে সেগুলি ব্যবহার করা যায় তা দেখব।
১. ফাংশন প্যারামিটার (Function Parameters)
ফাংশন প্যারামিটার হল সেই মান বা ভ্যারিয়েবল যা একটি ফাংশনে পাস করা হয়। ফাংশন ডিফাইন করার সময় প্যারামিটারগুলো নির্ধারণ করা হয় এবং ফাংশনটি কল করার সময় সেই মানগুলো ফাংশনের মধ্যে পাস করা হয়।
প্যারামিটারসহ ফাংশন ডিফাইন
লুয়া ভাষায় ফাংশন প্যারামিটার ডিফাইন করা হয় ফাংশনের নামের পরে বন্ধনীতে (parentheses) প্যারামিটার লিখে।
উদাহরণ:
-- প্যারামিটার সহ ফাংশন ডিফাইন
function greet(name, age)
print("Hello, " .. name)
print("You are " .. age .. " years old.")
end
-- ফাংশন কল করে প্যারামিটার পাস
greet("Alice", 25)এখানে, greet ফাংশনে দুটি প্যারামিটার রয়েছে: name এবং age। ফাংশন কলের সময় "Alice" এবং 25 মান দুটি প্যারামিটার হিসেবে পাস করা হয়।
আউটপুট:
Hello, Alice
You are 25 years old.২. ডিফল্ট প্যারামিটার (Default Parameters)
লুয়া ভাষায়, যদি একটি প্যারামিটার ফাংশনে কল করার সময় পাস না করা হয়, তবে আপনি ডিফল্ট মান সেট করতে পারেন।
উদাহরণ:
function greet(name, age)
name = name or "Guest" -- যদি name পাস না করা হয়, তবে "Guest" হবে
age = age or 18 -- যদি age পাস না করা হয়, তবে 18 হবে
print("Hello, " .. name)
print("You are " .. age .. " years old.")
end
-- প্যারামিটার না দিয়ে কল করা
greet() -- আউটপুট: Hello, Guest / You are 18 years old.এখানে, name এবং age এর জন্য ডিফল্ট মান Guest এবং 18 সেট করা হয়েছে, যদি এই প্যারামিটারগুলো পাস না করা হয়।
৩. ভ্যারিএবেল প্যারামিটার (Variable Parameters)
লুয়া ভাষায়, একটি ফাংশন একাধিক প্যারামিটার গ্রহণ করতে পারে, এবং আপনি ... (ellipsis) ব্যবহার করে ভ্যারিএবেল প্যারামিটার গ্রহণ করতে পারেন।
উদাহরণ:
function sum(...)
local total = 0
for _, value in ipairs({...}) do
total = total + value
end
return total
end
print(sum(1, 2, 3, 4)) -- আউটপুট: 10এখানে, ... ব্যবহার করে sum ফাংশনটি যেকোনো সংখ্যক আর্গুমেন্ট গ্রহণ করতে পারে, এবং ফাংশনের ভিতরে সেই আর্গুমেন্টগুলির উপর কাজ করা হচ্ছে।
৪. রিটার্ন ভ্যালু (Return Values)
ফাংশনের রিটার্ন ভ্যালু হল সেই মান যা একটি ফাংশন তার কাজ সম্পন্ন করার পর ফিরিয়ে দেয়। রিটার্ন ভ্যালু ব্যবহৃত হয় ফাংশনের বাইরে কোনো ফলাফল বা আউটপুট প্রদান করতে।
রিটার্ন স্টেটমেন্ট
ফাংশনে মান ফেরত দেওয়ার জন্য return শব্দটি ব্যবহার করা হয়।
উদাহরণ:
function add(a, b)
return a + b
end
result = add(5, 3) -- ফাংশন কল
print(result) -- আউটপুট: 8এখানে, add ফাংশন দুটি প্যারামিটার গ্রহণ করে এবং তাদের যোগফল রিটার্ন করে। result ভ্যারিয়েবলে সেই রিটার্ন ভ্যালু সংরক্ষিত হয় এবং প্রিন্ট করা হয়।
একাধিক রিটার্ন ভ্যালু
একটি ফাংশন একাধিক রিটার্ন ভ্যালুও দিতে পারে। এই ক্ষেত্রে, return কমান্ডের মাধ্যমে একাধিক মান একসাথে ফিরিয়ে দেয়া হয়।
উদাহরণ:
function getCoordinates()
return 10, 20 -- একাধিক মান রিটার্ন
end
x, y = getCoordinates() -- একাধিক মান গ্রহণ
print(x, y) -- আউটপুট: 10 20এখানে, getCoordinates ফাংশন দুটি মান রিটার্ন করছে: 10 এবং 20, যা পরে x এবং y ভ্যারিয়েবল দ্বারা গ্রহন করা হয়।
সারসংক্ষেপ
লুয়া ভাষায় ফাংশন প্যারামিটার এবং রিটার্ন ভ্যালু গুরুত্বপূর্ণ উপাদান যা কোডের কার্যকারিতা ও নমনীয়তা বৃদ্ধি করে।
- প্যারামিটার: ফাংশনে ইনপুট ডেটা প্রদান করে এবং ডিফল্ট মান, ভ্যারিএবেল প্যারামিটার সহ ব্যবহার করা যায়।
- রিটার্ন ভ্যালু: ফাংশনটির কাজ শেষ হওয়ার পর যে মানটি ফিরে আসে, তা ফাংশন থেকে বাইরে ব্যবহৃত হতে পারে।
Read more