লুয়া (Lua) একটি হালকা, সহজে শিখা যায় এমন স্ক্রিপ্টিং ভাষা, যার সিনট্যাক্স এবং স্ট্রাকচার খুবই সরল। এই ভাষার মূল উদ্দেশ্য হচ্ছে, কোড লেখার জন্য সহজ এবং প্রাকৃতিক ভাষা ব্যবহার করা। নীচে লুয়া ভাষার বেসিক সিনট্যাক্স এবং স্ট্রাকচার সম্পর্কে আলোচনা করা হলো।
১. ভ্যারিয়েবল (Variables)
লুয়া একটি ডায়নামিক টাইপিং ভাষা, তাই ভ্যারিয়েবল ঘোষণা করার সময় টাইপ উল্লেখ করতে হয় না। ভ্যারিয়েবল সরাসরি মান অ্যাসাইন করে ব্যবহৃত হয়।
x = 10 -- একটি ইন্টিজার ভ্যারিয়েবল
name = "John" -- একটি স্ট্রিং ভ্যারিয়েবলভ্যারিয়েবল এর মান পরিবর্তন:
x = 20 -- মান পরিবর্তন করা
print(x) -- আউটপুট: 20২. ডেটা টাইপ (Data Types)
লুয়া ভাষায় বিভিন্ন ধরনের ডেটা টাইপ থাকে, যেমন:
- নম্বর (Number): ইন্টিজার এবং ফ্লোটিং পয়েন্ট সংখ্যা
- স্ট্রিং (String): লেখা বা টেক্সট
- বুলিয়ান (Boolean):
trueঅথবাfalse - টেবিল (Table): অ্যারে বা ম্যাপ ধরনের ডেটা স্ট্রাকচার
- ফাংশন (Function): ফাংশন সংজ্ঞা
- নিল (Nil): কোনো মান না থাকা
age = 30 -- Number
is_active = true -- Boolean
message = "Hello" -- String৩. কন্ডিশনাল স্টেটমেন্ট (Conditional Statements)
লুয়া ভাষায় কন্ডিশনাল স্টেটমেন্ট হিসেবে if, else, এবং elseif ব্যবহার করা হয়।
x = 10
if x > 5 then
print("x is greater than 5")
elseif x == 5 then
print("x is equal to 5")
else
print("x is less than 5")
end৪. লুপ (Loops)
লুয়া ভাষায় তিন ধরনের লুপ ব্যবহৃত হয়: for, while, এবং repeat-until লুপ।
for লুপ
for i = 1, 5 do
print(i) -- আউটপুট: 1 2 3 4 5
endwhile লুপ
x = 1
while x <= 5 do
print(x) -- আউটপুট: 1 2 3 4 5
x = x + 1
endrepeat-until লুপ
x = 1
repeat
print(x) -- আউটপুট: 1 2 3 4 5
x = x + 1
until x > 5৫. ফাংশন (Functions)
লুয়া ভাষায় ফাংশন সংজ্ঞা দেওয়া হয় function কীওয়ার্ড ব্যবহার করে। ফাংশনের শেষে end ব্যবহার করা হয়।
function greet(name)
print("Hello, " .. name)
end
greet("Alice") -- আউটপুট: Hello, Alice৬. টেবিল (Tables)
লুয়া ভাষার একমাত্র ডেটা স্ট্রাকচার হল টেবিল (Tables)। এটি অ্যারে, ম্যাপ, এবং অবজেক্টের মতো কাজ করতে পারে।
অ্যারে টেবিল
fruits = {"Apple", "Banana", "Orange"}
print(fruits[1]) -- আউটপুট: Appleম্যাপ টেবিল
person = {name = "John", age = 30}
print(person.name) -- আউটপুট: John৭. মেটাটেবিল (Metatables)
লুয়া ভাষায় মেটাটেবিল (metatables) একটি বিশেষ ধরনের টেবিল যা অন্য টেবিলের আচরণ কাস্টমাইজ করতে ব্যবহৃত হয়।
t = {}
setmetatable(t, {__index = function(table, key) return "Not found!" end})
print(t.some_key) -- আউটপুট: Not found!৮. কমেন্ট (Comments)
লুয়া ভাষায় একক লাইন এবং মাল্টি-লাইন কমেন্ট করা যায়।
একক লাইন কমেন্ট
-- এটি একটি একক লাইন কমেন্ট
print("Hello") -- কমেন্ট পরে কোডমাল্টি-লাইন কমেন্ট
--[[
এটি একটি
মাল্টি-লাইন কমেন্ট
]]সারসংক্ষেপ
লুয়া একটি সহজ এবং বোধগম্য ভাষা, যেখানে তার সিনট্যাক্স এবং স্ট্রাকচার অত্যন্ত সরল। এখানে ভ্যারিয়েবল, কন্ডিশনাল স্টেটমেন্ট, লুপ, ফাংশন, টেবিল ইত্যাদি মৌলিক ধারণা গুলো খুবই সরল ও ব্যবহারযোগ্য। লুয়া ভাষায় ফাংশন এবং ডেটা স্ট্রাকচারগুলোর মাধ্যমে প্রোগ্রামাররা খুব দ্রুত কার্যকর কোড তৈরি করতে পারেন।
Read more