লুয়া (Lua) ভাষায় লুপিং স্টেটমেন্টস এমন কন্ট্রোল স্ট্রাকচার যা কোডের নির্দিষ্ট অংশ একাধিকবার চালানোর জন্য ব্যবহৃত হয়। লুয়া ভাষায় তিন ধরনের লুপ রয়েছে: while, repeat, এবং **for**। এই লুপগুলি ব্যবহার করে আপনি কোনো শর্ত পূরণ না হওয়া পর্যন্ত অথবা নির্দিষ্ট সংখ্যক বার কোডের অংশ পুনরায় চালাতে পারেন।
এই টিউটোরিয়ালে আমরা লুয়া ভাষার তিনটি প্রধান লুপিং স্টেটমেন্ট: while, repeat, এবং for এর ব্যবহার এবং উদাহরণ দেখব।
১. while লুপ
while লুপটি একটি শর্ত পূর্ণ না হওয়া পর্যন্ত একাধিকবার একটি কোড ব্লক চালায়। এটি একটি প্রাক-শর্ত লুপ (pre-test loop), অর্থাৎ লুপের শরীর প্রথমে শর্ত যাচাই করে তারপর এক্সিকিউট হয়।
সিনট্যাক্স:
while condition do
-- কোড ব্লক
endউদাহরণ:
x = 1
while x <= 5 do
print(x) -- আউটপুট: 1 2 3 4 5
x = x + 1
endএখানে, x এর মান ১ থেকে শুরু হয়ে ৫ পর্যন্ত বেড়ে যাবে এবং যতক্ষণ না x এর মান ৫-এর বেশি হচ্ছে, ততক্ষণ এই লুপটি চলতে থাকবে।
২. repeat লুপ
repeat লুপটি একটি পোস্ট-শর্ত লুপ (post-test loop), অর্থাৎ লুপের শরীর একবার চলে এবং তারপর শর্ত যাচাই করা হয়। তাই, repeat লুপটি অন্তত একবার চলবেই, শর্ত পূর্ণ হোক বা না হোক।
সিনট্যাক্স:
repeat
-- কোড ব্লক
until conditionউদাহরণ:
x = 1
repeat
print(x) -- আউটপুট: 1 2 3 4 5
x = x + 1
until x > 5এখানে, লুপটি প্রথমে x এর মান ১ দিয়ে চালু হয় এবং পরে শর্ত যাচাই করা হয় (x > 5)। যতক্ষণ না শর্ত পূর্ণ হচ্ছে, লুপটি চলতে থাকে।
৩. for লুপ
for লুপটি একটি নির্দিষ্ট সংখ্যক বার লুপ চালানোর জন্য ব্যবহৃত হয়। এটি সাধারণত দুটি ধরনের হয়:
- সংখ্যাতীত লুপ (Numeric for loop): একটি নির্দিষ্ট পরিসরের মধ্যে কাজ করতে ব্যবহৃত।
- জেনেরেটর লুপ (Generic for loop): যখন আপনি কোন ডাটা স্ট্রাকচার বা সিরিজে iterate করতে চান।
৩.১. সংখ্যাতীত for লুপ
এই লুপটি একটি নির্দিষ্ট পরিসরের মধ্যে চলতে থাকে। এটি একটি ইন্টিজার রেঞ্জের মধ্যে লুপিং করে।
সিনট্যাক্স:
for i = start, stop, step do
-- কোড ব্লক
endউদাহরণ:
for i = 1, 5 do
print(i) -- আউটপুট: 1 2 3 4 5
endএখানে, i ১ থেকে ৫ পর্যন্ত বেড়ে যাবে এবং প্রতি বার i এর মান প্রিন্ট হবে।
৩.২. জেনেরেটর for লুপ
এই লুপটি সাধারণত টেবিল বা অন্যান্য ডেটা স্ট্রাকচারের উপর লুপ করতে ব্যবহৃত হয়। এটি একটি নির্দিষ্ট স্ট্রাকচারে চলতে থাকে এবং আপনি একটি কাস্টম ইটারেটর ব্যবহার করতে পারেন।
উদাহরণ:
days = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}
for i, day in ipairs(days) do
print(i, day)
endএখানে, ipairs একটি ইটারেটর, যা days টেবিলের মধ্যে আইটেমগুলির উপর লুপ চালায় এবং প্রতি ইটারেশনে ইনডেক্স (i) এবং ভ্যালু (day) প্রদান করে।
সারসংক্ষেপ
লুয়া ভাষায় লুপিং স্টেটমেন্টস কোডের নির্দিষ্ট অংশ একাধিকবার চালানোর জন্য ব্যবহৃত হয়। এর মধ্যে তিনটি প্রধান ধরনের লুপ রয়েছে:
whileলুপ: শর্ত সত্য হলে কোড চালায় (প্রাক-শর্ত লুপ)।repeatলুপ: কোড প্রথমে একবার চালায় এবং তারপর শর্ত যাচাই করে (পোস্ট-শর্ত লুপ)।forলুপ: নির্দিষ্ট সংখ্যা পর্যন্ত বা একটি ডেটা স্ট্রাকচারের উপরে লুপ চালায় (সংখ্যাতীত ও জেনেরেটর লুপ)।
এই লুপগুলি কোডের পুনরাবৃত্তির জন্য কার্যকরভাবে ব্যবহার করা যায় এবং ডেভেলপারদের কর্মক্ষমতা বৃদ্ধি করতে সাহায্য করে।
Read more