Skill

Lua এর বেসিক সিনট্যাক্স (Basic Syntax of Lua)

লুয়া (Lua) - Computer Programming

469

লুয়া (Lua) একটি হালকা, সহজ এবং শক্তিশালী স্ক্রিপ্টিং ভাষা। এর সিনট্যাক্স বেশ সহজ এবং বোধগম্য, যা নতুন প্রোগ্রামারদের জন্য উপযুক্ত। এখানে লুয়া ভাষার কিছু বেসিক সিনট্যাক্সের বিষয় নিয়ে আলোচনা করা হলো।


১. ভ্যারিয়েবল (Variables)

লুয়া একটি ডায়নামিক টাইপিং ভাষা, যা মান নির্ধারণের সময় টাইপ ঘোষণা করতে হয় না। আপনি সরাসরি ভ্যারিয়েবলে মান অ্যাসাইন করতে পারেন।

x = 10          -- একটি ইন্টিজার ভ্যারিয়েবল
name = "John"   -- একটি স্ট্রিং ভ্যারিয়েবল
is_active = true -- একটি বুলিয়ান ভ্যারিয়েবল

ভ্যারিয়েবল এর মান পরিবর্তন:

x = 20          -- মান পরিবর্তন করা
print(x)        -- আউটপুট: 20

২. ডেটা টাইপ (Data Types)

লুয়া ভাষায় বিভিন্ন ধরনের ডেটা টাইপ রয়েছে:

  • Number: সংখ্যার মান (ইন্টিজার অথবা ফ্লোটিং পয়েন্ট)
  • String: টেক্সটের মান
  • Boolean: true অথবা false
  • Table: ডেটা স্ট্রাকচার (এম্বেডেড অ্যারে/ম্যাপ)
  • Function: ফাংশনের ডেটা টাইপ
  • Nil: একটি বিশেষ মান, যা নির্দেশ করে কোনো মান নেই
age = 30         -- Number
is_active = true -- Boolean
name = "Alice"   -- String

৩. কন্ডিশনাল স্টেটমেন্ট (Conditional Statements)

লুয়া ভাষায় কন্ডিশনাল স্টেটমেন্ট হিসেবে if, elseif, এবং else ব্যবহার করা হয়।

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 লুপ

for i = 1, 5 do
    print(i)      -- আউটপুট: 1 2 3 4 5
end

while লুপ

x = 1
while x <= 5 do
    print(x)      -- আউটপুট: 1 2 3 4 5
    x = x + 1
end

repeat-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")  -- এই কমেন্টটি কোডের পাশে থাকবে

মাল্টি-লাইন কমেন্ট

--[[
  এটি একটি
  মাল্টি-লাইন কমেন্ট
]]

৯. অপারেটরস (Operators)

লুয়া বিভিন্ন ধরনের অপারেটর সরবরাহ করে:

  • অ্যাথমেটিক অপারেটরস: +, -, *, /, % (মডুলো)
  • কমপ্যারিজন অপারেটরস: ==, ~=, <, >, <=, >=
  • লজিক্যাল অপারেটরস: and, or, not
x = 10
y = 20

print(x + y)  -- আউটপুট: 30
print(x == y) -- আউটপুট: false

সারসংক্ষেপ

লুয়া ভাষার বেসিক সিনট্যাক্স খুবই সরল এবং প্রাকৃতিক। এটি ডায়নামিক টাইপিং, সহজ কন্ডিশনাল স্টেটমেন্ট, লুপ, ফাংশন, টেবিল, এবং কমেন্ট সমর্থন করে। লুয়া ভাষায় কোড লেখা সহজ এবং দ্রুত হয়, যা নতুন প্রোগ্রামারদের জন্য একটি চমৎকার শুরু হতে পারে।

Content added By

লুয়া একটি ডায়নামিক টাইপিং ভাষা, অর্থাৎ ভ্যারিয়েবল ঘোষণা করার সময় তার টাইপ নির্দিষ্ট করতে হয় না। লুয়া রানের সময় নিজেই ভ্যারিয়েবলের টাইপ নির্ধারণ করে নেয়, যা কোড লেখাকে সহজ এবং নমনীয় করে তোলে। এখানে আমরা লুয়া ভাষায় ভ্যারিয়েবল ডিক্লারেশন এবং ইনিশিয়ালাইজেশনের মৌলিক ধারণা নিয়ে আলোচনা করব।


১. ভ্যারিয়েবল ডিক্লারেশন (Variable Declaration)

লুয়া ভাষায় ভ্যারিয়েবল ডিক্লেয়ার করার জন্য সাধারণভাবে কেবল ভ্যারিয়েবলের নাম উল্লেখ করা হয়, এবং মান (value) অ্যাসাইন করার মাধ্যমে ভ্যারিয়েবল তৈরি হয়। টাইপ উল্লেখ করার প্রয়োজন হয় না।

x = 10       -- এখানে x একটি ভ্যারিয়েবল, এবং এটি ১০ এর মান নিচ্ছে।
name = "John"  -- name ভ্যারিয়েবল স্ট্রিং মান নিচ্ছে, "John"

এখানে, x এবং name দুটি ভ্যারিয়েবল, যাদের টাইপ লুয়া রানের সময় নির্ধারিত হবে। উদাহরণস্বরূপ, x একটি ইন্টিজার এবং name একটি স্ট্রিং হিসেবে স্বীকৃত হবে।


২. ভ্যারিয়েবল ইনিশিয়ালাইজেশন (Variable Initialization)

ভ্যারিয়েবল ইনিশিয়ালাইজেশন হল ভ্যারিয়েবলে প্রথমবার মান (value) অ্যাসাইন করা। লুয়া ভাষায়, ভ্যারিয়েবল তৈরি হওয়ার সঙ্গে সঙ্গে তা ইনিশিয়ালাইজড হয়ে যায়।

উদাহরণ

age = 25               -- age ভ্যারিয়েবল ২৫ মানের সাথে ইনিশিয়ালাইজ হয়েছে
is_active = true       -- is_active ভ্যারিয়েবল বুলিয়ান মান (true) এর সাথে ইনিশিয়ালাইজ হয়েছে
greeting = "Hello"     -- greeting ভ্যারিয়েবল স্ট্রিং মান (Hello) এর সাথে ইনিশিয়ালাইজ হয়েছে

এখানে, তিনটি ভ্যারিয়েবল ডিক্লেয়ার এবং ইনিশিয়ালাইজ করা হয়েছে:

  • age: এটি একটি নাম্বার টাইপ ভ্যারিয়েবল যার মান ২৫।
  • is_active: এটি একটি বুলিয়ান টাইপ ভ্যারিয়েবল যার মান true
  • greeting: এটি একটি স্ট্রিং টাইপ ভ্যারিয়েবল যার মান "Hello"

৩. ডায়নামিক টাইপিং (Dynamic Typing)

লুয়া ভাষায় ডায়নামিক টাইপিং ব্যবহৃত হয়, অর্থাৎ ভ্যারিয়েবলের টাইপ রানটাইমে নির্ধারিত হয়। ভ্যারিয়েবলে যে ধরনের মান রাখা হবে তা নির্ধারণের জন্য টাইপ উল্লেখ করার প্রয়োজন নেই।

উদাহরণ

x = 10       -- x এখন একটি ইন্টিজার
x = "Hello"  -- এখন x একটি স্ট্রিং হয়ে গেছে

এখানে, প্রথমে x একটি ইন্টিজার টাইপ ভ্যারিয়েবল হিসেবে ডিক্লেয়ার করা হয় এবং ১০ মান দেওয়া হয়। পরে, একই ভ্যারিয়েবল x-এ একটি স্ট্রিং "Hello" অ্যাসাইন করা হয়, এবং এটি স্ট্রিং টাইপ হয়ে যায়। লুয়া স্বয়ংক্রিয়ভাবে টাইপ পরিবর্তন করে নেয়।


৪. একাধিক ভ্যারিয়েবল একসাথে ডিক্লেয়ার করা

লুয়া ভাষায় একাধিক ভ্যারিয়েবল একসাথে ডিক্লেয়ার এবং ইনিশিয়ালাইজ করা যেতে পারে।

উদাহরণ

a, b, c = 1, 2, 3     -- একসাথে তিনটি ভ্যারিয়েবল ইনিশিয়ালাইজ করা হয়েছে

এখানে, a, b, এবং c তিনটি ভ্যারিয়েবল একসাথে ডিক্লেয়ার এবং ইনিশিয়ালাইজ করা হয়েছে, যেখানে a এর মান ১, b এর মান ২ এবং c এর মান ৩।


৫. নিল (Nil) মান

লুয়া ভাষায় যদি কোনো ভ্যারিয়েবলের মান অ্যাসাইন না করা হয়, তাহলে এটি ডিফল্টভাবে nil মান গ্রহণ করে। nil মানটি লুয়া ভাষায় একটি বিশেষ মান, যা "কোনো মান নেই" নির্দেশ করে।

উদাহরণ

x = nil          -- x ভ্যারিয়েবল এখন nil মানে আছে
print(x)         -- আউটপুট: nil

এখানে, x ভ্যারিয়েবলটি nil মান গ্রহণ করেছে, অর্থাৎ এর কোনো মান নেই।


সারসংক্ষেপ

লুয়া ভাষায় ভ্যারিয়েবল ডিক্লারেশন এবং ইনিশিয়ালাইজেশন খুবই সরল এবং নমনীয়। ভ্যারিয়েবল ঘোষণা করার সময় টাইপ উল্লেখ করা হয় না এবং রানটাইমে টাইপ নির্ধারণ করা হয়। লুয়া ডায়নামিক টাইপিং ব্যবহার করে, ফলে একটি ভ্যারিয়েবল তার টাইপ এবং মান পরিবর্তন করতে সক্ষম। আপনি একাধিক ভ্যারিয়েবল একসাথে ডিক্লেয়ার এবং ইনিশিয়ালাইজ করতে পারেন, এবং যদি কোনো ভ্যারিয়েবলের মান নির্ধারণ না করা হয় তবে তা nil মান গ্রহণ করে।

Content added By

লুয়া (Lua) ভাষায় কমেন্টস কোডের বর্ণনা, ব্যাখ্যা এবং ডেভেলপারদের মধ্যে যোগাযোগের জন্য ব্যবহৃত হয়। কমেন্টস কোডের কার্যকারিতা পরিবর্তন করে না, অর্থাৎ এগুলো কোডের রানটাইমে কোনো প্রভাব ফেলে না। লুয়া ভাষায় দুই ধরনের কমেন্টস ব্যবহৃত হয়: সিঙ্গল-লাইন কমেন্ট এবং মাল্টি-লাইন কমেন্ট


১. সিঙ্গল-লাইন কমেন্ট (Single-Line Comments)

সিঙ্গল-লাইন কমেন্ট ব্যবহার করা হয় যখন কোনো একক লাইনেই মন্তব্য করতে হয়। সিঙ্গল-লাইন কমেন্ট শুরু হয় দুটি ড্যাশ -- দ্বারা। এরপর পুরো লাইনের যেকোনো টেক্সট কমেন্ট হিসেবে গণ্য হবে।

উদাহরণ:

-- এটি একটি সিঙ্গল-লাইন কমেন্ট
print("Hello, World!")  -- এই লাইনটি আউটপুট করবে "Hello, World!"

এখানে প্রথম কমেন্ট -- এটি একটি সিঙ্গল-লাইন কমেন্ট শুধুমাত্র সেই লাইনের টেক্সটকে মন্তব্য হিসেবে চিহ্নিত করবে এবং দ্বিতীয় কমেন্ট -- এই লাইনটি আউটপুট করবে "Hello, World!" কোডের পরবর্তী অংশে দেওয়া ব্যাখ্যা।


২. মাল্টি-লাইন কমেন্ট (Multi-Line Comments)

মাল্টি-লাইন কমেন্ট ব্যবহার করা হয় যখন একাধিক লাইন জুড়ে মন্তব্য করতে হয়। এটি --[[ দিয়ে শুরু হয় এবং --]] দিয়ে শেষ হয়। মাল্টি-লাইন কমেন্ট অনেক লাইন জুড়ে কাজ করতে পারে, যা কোডের মধ্যে বেশ বড় মন্তব্য রাখার জন্য সুবিধাজনক।

উদাহরণ:

--[[
  এটি একটি মাল্টি-লাইন কমেন্ট
  যেখানে আমরা একাধিক লাইন জুড়ে মন্তব্য করতে পারি।
  কোডের কার্যকারিতার কোনো পরিবর্তন হবে না।
]]
print("Hello, Lua!")

এখানে, --[[ এবং --]] এর মধ্যে যত লাইন থাকবে, সবগুলোই মন্তব্য হিসেবে গণ্য হবে এবং সেগুলো কোডের কার্যকারিতাকে প্রভাবিত করবে না।


৩. কমেন্টস এর ব্যবহার

কমেন্টস মূলত কোডের ব্যাখ্যা প্রদান, টাস্কের বিস্তারিত বর্ণনা এবং কোডের কোনো নির্দিষ্ট অংশকে অস্থায়ীভাবে নিষ্ক্রিয় (disable) করতে ব্যবহৃত হয়। কমেন্টস কোডের রিডেবিলিটি (readability) এবং মেইনটেনেবিলিটি (maintainability) বৃদ্ধি করে।

কমেন্টস ব্যবহার করার উদাহরণ:

-- ভ্যারিয়েবল x এর মান নির্ধারণ
x = 10  -- x এর মান ১০ হবে

-- এখানে একটি ফাংশন ডিফাইন করা হচ্ছে
function greet(name)
    -- ফাংশনটি ব্যবহারকারীকে স্বাগত জানাবে
    print("Hello, " .. name)
end

greet("Alice")  -- এই লাইনটি Alice কে স্বাগত জানাবে

এখানে, আমরা প্রতিটি কোডের অংশে ছোট মন্তব্য ব্যবহার করেছি যাতে অন্য ডেভেলপাররা বা ভবিষ্যতে আমরা সহজে কোডের উদ্দেশ্য বুঝতে পারি।


সারসংক্ষেপ

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

Content added By

লুয়া (Lua) একটি স্ক্রিপ্টিং ভাষা যা সিম্পল সিনট্যাক্স এবং হালকা গঠন দিয়ে প্রোগ্রামিংকে সহজ করে তোলে। লুয়া ভাষায় কিছু নির্দিষ্ট কিওয়ার্ড (keywords) এবং রিজার্ভড ওয়ার্ড (reserved words) রয়েছে যেগুলি বিশেষ উদ্দেশ্যে ব্যবহৃত হয়। এই কিওয়ার্ডস ও রিজার্ভড ওয়ার্ডসগুলো লুয়া প্রোগ্রামিং ভাষার সঙ্গতিতে ব্যবহৃত হয় এবং এগুলি সাধারণত ভ্যারিয়েবল বা ফাংশনের নাম হিসেবে ব্যবহার করা যায় না।


১. কিওয়ার্ডস (Keywords)

লুয়া ভাষায় কিছু নির্দিষ্ট কিওয়ার্ড রয়েছে যেগুলি ভাষার গঠন ও কার্যপ্রণালী সংজ্ঞায়িত করতে ব্যবহৃত হয়। এই কিওয়ার্ডসগুলো ভাষার ভিন্ন ভিন্ন ফিচারগুলির জন্য নির্ধারিত।

লুয়া কিওয়ার্ডস

  1. and - লজিক্যাল "এন্ড" অপারেটর।
  2. break - লুপ বা কোড ব্লক থেকে বাহির হওয়ার জন্য ব্যবহৃত হয়।
  3. do - একটি ব্লক স্টেটমেন্ট শুরু করার জন্য ব্যবহৃত।
  4. else - if স্টেটমেন্টের একটি অংশ, যা কন্ডিশন মেলেনি এমন ক্ষেত্রে কার্যকর।
  5. elseif - if ব্লকের মধ্যে আরেকটি কন্ডিশন যোগ করার জন্য ব্যবহৃত।
  6. end - একটি ব্লক বা ফাংশন বন্ধ করার জন্য ব্যবহৃত।
  7. false - একটি বুলিয়ান মান, যা সত্য নয়।
  8. for - একটি লুপ শুরু করার জন্য ব্যবহৃত।
  9. function - একটি ফাংশন ডিফাইন করতে ব্যবহৃত।
  10. goto - কোডের একটি নির্দিষ্ট স্থানে ঝাঁপ দিতে ব্যবহৃত (অল্প ব্যবহৃত)।
  11. if - শর্ত চেক করার জন্য ব্যবহৃত।
  12. in - for লুপে ব্যবহৃত, যে টেবিল বা মানের উপর লুপ চলবে তা নির্ধারণ করতে।
  13. local - একটি লোকাল ভ্যারিয়েবল বা ফাংশন তৈরি করতে ব্যবহৃত।
  14. nil - কোনো মান না থাকা বা শূন্য মান।
  15. not - লজিক্যাল "নট" অপারেটর।
  16. or - লজিক্যাল "অর" অপারেটর।
  17. repeat - repeat-until লুপ শুরু করতে ব্যবহৃত।
  18. return - ফাংশনের আউটপুট প্রদান করতে ব্যবহৃত।
  19. then - if বা elseif কন্ডিশনের পরে কোড ব্লক শুরু করতে ব্যবহৃত।
  20. true - একটি বুলিয়ান মান, যা সত্য।
  21. until - repeat-until লুপের শেষ শর্ত চেক করতে ব্যবহৃত।
  22. while - একটি শর্তযুক্ত লুপ শুরু করতে ব্যবহৃত।

২. রিজার্ভড ওয়ার্ডস (Reserved Words)

লুয়া ভাষায় কিছু রিজার্ভড ওয়ার্ড রয়েছে যেগুলি ভবিষ্যতের সংস্করণে ভাষার নতুন ফিচার সমর্থন করার জন্য রিজার্ভ করা হয়েছে। যদিও এই রিজার্ভড ওয়ার্ডগুলো বর্তমান সংস্করণে ব্যবহৃত না হলেও, এগুলি ভবিষ্যতে গুরুত্বপূর্ণ হতে পারে এবং এগুলি কোডে ব্যবহৃত করা যাবে না।

লুয়া রিজার্ভড ওয়ার্ডস:

  1. _G
  2. _VERSION

লুয়া ভাষার বর্তমান সংস্করণে এই রিজার্ভড ওয়ার্ডগুলোর ব্যবহার নিষিদ্ধ এবং ভবিষ্যতে কোনো নতুন ফিচার যোগ করতে এই শব্দগুলোর ব্যবহার হতে পারে।


৩. কিওয়ার্ডস এবং রিজার্ভড ওয়ার্ডস এর ব্যবহারের উদাহরণ

উদাহরণ ১: if, else, elseif এবং end কিওয়ার্ড

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

উদাহরণ ২: for লুপ এবং local

local sum = 0
for i = 1, 10 do
    sum = sum + i
end
print(sum)  -- আউটপুট: 55

উদাহরণ ৩: function এবং return

function add(a, b)
    return a + b
end

print(add(3, 4))  -- আউটপুট: 7

সারসংক্ষেপ

লুয়া প্রোগ্রামিং ভাষায় কিওয়ার্ডস এবং রিজার্ভড ওয়ার্ডস গুরুত্বপূর্ণ ভূমিকা পালন করে। কিওয়ার্ডস ভাষার কাঠামো ও কার্যপ্রণালী নির্ধারণে ব্যবহৃত হয়, যেমন if, for, function ইত্যাদি। অন্যদিকে, রিজার্ভড ওয়ার্ডগুলো ভবিষ্যতের জন্য সংরক্ষিত থাকে, যেমন _G এবং _VERSION। এই কিওয়ার্ডস এবং রিজার্ভড ওয়ার্ডগুলির সঠিক ব্যবহার লুয়া কোডের পাঠযোগ্যতা এবং কার্যকারিতা বজায় রাখতে সাহায্য করে।

Content added By

লুয়া (Lua) একটি সহজ এবং শক্তিশালী স্ক্রিপ্টিং ভাষা, যার প্রোগ্রামিং স্ট্রাকচার সাধারণত খুব সরল ও বোধগম্য। এখানে আমরা লুয়া প্রোগ্রামের স্ট্রাকচার এবং ফ্লো নিয়ে আলোচনা করব, যাতে আপনি এই ভাষায় প্রোগ্রাম লেখার মৌলিক ধারণা পেতে পারেন।


১. লুয়া প্রোগ্রামের স্ট্রাকচার

লুয়া প্রোগ্রাম সাধারণত কিছু মৌলিক অংশ নিয়ে গঠিত:

  1. ভ্যারিয়েবল ঘোষণা (Variable Declarations):
    লুয়া ভাষায় ভ্যারিয়েবল ডায়নামিক টাইপিং ব্যবহার করে ঘোষণা করা হয়, অর্থাৎ ভ্যারিয়েবলটি কোনো নির্দিষ্ট টাইপের হয় না, বরং রানের সময় তার টাইপ নির্ধারিত হয়।

    x = 10        -- একটি ইন্টিজার ভ্যারিয়েবল
    name = "John" -- একটি স্ট্রিং ভ্যারিয়েবল
  2. কন্ডিশনাল স্টেটমেন্ট (Conditional Statements):
    লুয়া ভাষায় if, elseif, এবং else ব্যবহার করে শর্ত অনুযায়ী কোড কার্যকর করা হয়।

    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
  3. লুপ (Loops):
    লুয়া ভাষায় তিন ধরনের লুপ রয়েছে: for, while, এবং repeat-until
    • For loop:

      for i = 1, 5 do
          print(i)  -- আউটপুট: 1 2 3 4 5
      end
    • While loop:

      i = 1
      while i <= 5 do
          print(i)  -- আউটপুট: 1 2 3 4 5
          i = i + 1
      end
  4. ফাংশন (Functions):
    লুয়া ভাষায় ফাংশন সংজ্ঞা দেওয়া হয় function কীওয়ার্ড ব্যবহার করে।

    function greet(name)
        print("Hello, " .. name)
    end
    greet("Alice")  -- আউটপুট: Hello, Alice
  5. টেবিল (Tables):
    লুয়া ভাষার একমাত্র ডেটা স্ট্রাকচার টেবিল (Table)। এটি অ্যারে, ম্যাপ, এবং অবজেক্টের মতো কাজ করে।

    person = {name = "John", age = 30}
    print(person.name)  -- আউটপুট: John

২. লুয়া প্রোগ্রামের ফ্লো

লুয়া প্রোগ্রামের কার্যকারিতা প্রধানত নিম্নলিখিত ফ্লো অনুসরণ করে:

  1. ভ্যারিয়েবল এবং ফাংশন ঘোষণা:
    প্রোগ্রাম শুরু হওয়ার আগে, যেকোনো ভ্যারিয়েবল বা ফাংশন প্রথমে ঘোষণা করা হয়। এক্ষেত্রে, আপনি যে কোনো ভ্যারিয়েবল এবং ফাংশন লিখে রাখতে পারেন।
  2. শর্ত অনুযায়ী কার্যক্রম:
    লুয়া if বা else স্টেটমেন্ট ব্যবহার করে শর্ত অনুযায়ী কোডের কার্যকারিতা নির্ধারণ করে।
  3. লুপের মাধ্যমে পুনরাবৃত্তি:
    for, while, বা repeat-until লুপের মাধ্যমে নির্দিষ্ট সংখ্যক বার কোড চালানো হয়। এই লুপের মধ্যে অবস্থান করা কোড পুনরায় একাধিকবার কার্যকর হয়।
  4. ফাংশন কল করা:
    যখন কোনো কাজ নির্দিষ্টভাবে সম্পাদন করার প্রয়োজন হয়, তখন ফাংশন কল করা হয়। ফাংশন কোডের পুনঃব্যবহারযোগ্যতা এবং পরিচালনা সহজ করে তোলে।
  5. টেবিল ব্যবহার:
    টেবিল ব্যবহার করে একাধিক ডেটা একসাথে স্টোর করা হয় এবং প্রয়োজন অনুসারে ডেটা অ্যাক্সেস করা হয়।

৩. লুয়া প্রোগ্রামের একটি সাধারণ উদাহরণ

এখানে একটি সাধারণ লুয়া প্রোগ্রাম দেওয়া হলো, যা ভ্যারিয়েবল, কন্ডিশনাল স্টেটমেন্ট, লুপ, ফাংশন এবং টেবিলের ব্যবহার দেখাবে:

-- ভ্যারিয়েবল ঘোষণা
x = 10
name = "Alice"
age = 25

-- কন্ডিশনাল স্টেটমেন্ট
if age > 18 then
    print(name .. " is an adult.")
else
    print(name .. " is a minor.")
end

-- ফাংশন
function greet(name)
    print("Hello, " .. name)
end

greet(name)  -- আউটপুট: Hello, Alice

-- লুপ
for i = 1, 5 do
    print(i)  -- আউটপুট: 1 2 3 4 5
end

-- টেবিল ব্যবহার
person = {name = "John", age = 30}
print(person.name)  -- আউটপুট: John

সারসংক্ষেপ

লুয়া প্রোগ্রামের স্ট্রাকচার এবং ফ্লো খুবই সরল ও বোধগম্য। প্রোগ্রামে সাধারণত ভ্যারিয়েবল ঘোষণা, কন্ডিশনাল স্টেটমেন্ট, লুপ, ফাংশন এবং টেবিল ব্যবহার করা হয়। এগুলো প্রোগ্রামের কার্যকারিতা নির্ধারণ করে এবং কোডের পুনঃব্যবহারযোগ্যতা এবং পরিচালনা সহজ করে তোলে। লুয়া ভাষার সহজ সিনট্যাক্স এবং নমনীয়তা এটিকে একটি শক্তিশালী স্ক্রিপ্টিং ভাষা বানিয়ে তোলে।

Content added By
Promotion

Are you sure to start over?

Loading...