লুয়া ভাষায় ফাংশন ডিক্লেয়ার করা এবং কল করা অত্যন্ত সহজ। এটি একটি উচ্চ স্তরের ভাষা, যেখানে ফাংশন তৈরি করা এবং ব্যবহার করা অনেকটা প্রাকৃতিক ভাষায় কোডিং করার মতো সহজ। এখানে আমরা লুয়া ভাষায় ফাংশন ডিক্লারেশন এবং ফাংশন কল করার প্রক্রিয়া বিস্তারিতভাবে আলোচনা করব।
১. ফাংশন ডিক্লারেশন (Function Declaration)
লুয়া ভাষায় একটি ফাংশন তৈরি করতে function কীওয়ার্ড ব্যবহার করা হয়, এবং ফাংশনটি শেষে end দ্বারা শেষ হয়। ফাংশনের মধ্যে একটি বা একাধিক প্যারামিটার (argument) থাকতে পারে, যা ফাংশন কল করার সময় পাস করা হয়।
সিনট্যাক্স:
function function_name(parameter1, parameter2)
-- ফাংশনের কার্যক্রম
return result -- (যদি প্রয়োজন হয়)
endউদাহরণ:
function greet(name)
print("Hello, " .. name)
endএখানে greet একটি ফাংশন যা একটি প্যারামিটার নেয়, name, এবং Hello, [name] প্রিন্ট করে।
২. ফাংশন কল (Function Call)
একবার ফাংশন ডিক্লেয়ার করা হলে, আপনি যে কোনো জায়গা থেকে এই ফাংশনটি কল করতে পারেন। ফাংশন কল করার জন্য ফাংশনের নাম এবং তার প্রয়োজনীয় প্যারামিটার পাঠাতে হয়।
সিনট্যাক্স:
function_name(argument1, argument2)উদাহরণ:
greet("Alice") -- আউটপুট: Hello, Alice
greet("Bob") -- আউটপুট: Hello, Bobএখানে, greet ফাংশনটি "Alice" এবং "Bob" প্যারামিটার পাস করে কল করা হয়েছে, এবং ফলস্বরূপ তাদের জন্য একটি হ্যালো মেসেজ প্রিন্ট হয়েছে।
৩. ফাংশন রিটার্ন (Return Statement)
লুয়া ফাংশন সাধারণত একটি মান ফিরিয়ে দেয় (return)। রিটার্ন স্টেটমেন্টটি ফাংশনটি শেষ করার জন্য ব্যবহৃত হয় এবং আপনি চাইলে একটি বা একাধিক মান ফেরত দিতে পারেন।
সিনট্যাক্স:
function add(a, b)
return a + b
endউদাহরণ:
function add(a, b)
return a + b
end
result = add(5, 3)
print(result) -- আউটপুট: 8এখানে, add ফাংশনটি দুটি সংখ্যার যোগফল বের করে, এবং সেই ফলস্বরূপ রিটার্ন করা হয়। result ভ্যারিয়েবলটিতে এটি সংরক্ষিত হয়েছে, এবং print(result) দ্বারা আউটপুট প্রদর্শিত হয়েছে।
৪. ফাংশন একাধিক রিটার্ন (Multiple Return Values)
লুয়া ফাংশন একাধিক মানও ফেরত দিতে পারে। একাধিক রিটার্ন ভ্যালু return স্টেটমেন্টের মাধ্যমে করা হয়, এবং কল করার সময় তাদের আলাদাভাবে ধরতে হবে।
সিনট্যাক্স:
function multipleReturns()
return 1, 2, 3
endউদাহরণ:
function multipleReturns()
return 1, 2, 3
end
a, b, c = multipleReturns()
print(a, b, c) -- আউটপুট: 1 2 3এখানে, multipleReturns ফাংশনটি তিনটি মান ফেরত দিচ্ছে, এবং এগুলো a, b, এবং c তে সংরক্ষিত হচ্ছে।
৫. অ্যানোনিমাস ফাংশন (Anonymous Functions)
লুয়া ভাষায় আপনি অ্যানোনিমাস ফাংশনও তৈরি করতে পারেন, যা কোনো নাম ছাড়াই ব্যবহার করা হয়। এগুলো সাধারণত ফাংশন প্যারামিটার হিসেবে বা মান হিসেবে ব্যবহৃত হয়।
উদাহরণ:
function applyFunction(func)
return func(2, 3)
end
result = applyFunction(function(a, b) return a + b end)
print(result) -- আউটপুট: 5এখানে, applyFunction ফাংশনে একটি অ্যানোনিমাস ফাংশন পাস করা হয়েছে যা দুটি সংখ্যার যোগফল ফেরত দেয়।
সারসংক্ষেপ
লুয়া ভাষায় ফাংশন ডিক্লেয়ার ও কল করা খুবই সহজ। আপনি যেকোনো সময়ে নতুন ফাংশন ডিক্লেয়ার করে তা কল করতে পারেন এবং ফলস্বরূপ মান রিটার্ন করতে পারেন। লুয়া ফাংশনের কিছু মূল বৈশিষ্ট্য:
- ফাংশন ডিক্লারেশন:
functionকীওয়ার্ড দিয়ে ফাংশন ডিক্লেয়ার করা হয়। - ফাংশন কল: ফাংশনের নাম এবং প্যারামিটার দিয়ে কল করা হয়।
- রিটার্ন স্টেটমেন্ট:
returnব্যবহার করে ফাংশন থেকে মান ফেরত দেওয়া হয়। - অ্যানোনিমাস ফাংশন: নাম ছাড়া ফাংশন ব্যবহার করা যায়।
এই ফাংশনগুলো আপনাকে কোডের পুনঃব্যবহারযোগ্যতা এবং কোডিং নমনীয়তা বাড়াতে সহায়তা করবে।
Read more