টিসিএল (Tcl) - লুপস: for, while, এবং foreach লুপ
টিসিএল (Tcl) ভাষায় লুপ ব্যবহার করা হয় নির্দিষ্ট সংখ্যক পুনরাবৃত্তি বা শর্ত পূর্ণ হওয়ার আগ পর্যন্ত কোড এক্সিকিউট করার জন্য। টিসিএল-এ তিনটি প্রধান ধরনের লুপ রয়েছে:
forলুপwhileলুপforeachলুপ
এখানে প্রতিটি লুপের গঠন, ব্যবহার এবং বিভিন্ন উদাহরণ নিয়ে আলোচনা করা হলো।
১. for লুপ
for লুপ সাধারণত একটি নির্দিষ্ট সংখ্যক পুনরাবৃত্তি বা স্লটের জন্য ব্যবহৃত হয়। এটি শুরু, শর্ত এবং ইঙ্ক্রিমেন্ট বা ডিক্রিমেন্ট অংশ নিয়ে গঠিত হয়।
for লুপের সাধারণ সিনট্যাক্স:
for {initialization} {condition} {increment} {
# Loop body
}initialization: লুপ শুরু হওয়ার সময় ভেরিয়েবলের মান সেট করা।condition: শর্ত যা সঠিক হওয়া পর্যন্ত লুপ চলবে।increment: প্রতি লুপ শেষে ভেরিয়েবলের মান বাড়ানো বা কমানো।
উদাহরণ:
for {set i 0} {$i < 5} {incr i} {
puts "Iteration $i"
}এখানে:
- লুপের শুরুতে
iএর মান ০ হবে। - শর্ত হচ্ছে
$i < 5। - প্রতি ইটারেশনে
iএর মান ১ বাড়ানো হবে (incr i)। আউটপুট হবে:
Iteration 0 Iteration 1 Iteration 2 Iteration 3 Iteration 4
২. while লুপ
while লুপ একটি শর্ত পূর্ণ না হওয়া পর্যন্ত চলতে থাকে। এটি একটি শর্ত নিয়ে কাজ করে এবং যতক্ষণ না শর্ত মিথ্যা হয়, ততক্ষণ কোডের ব্লকটি এক্সিকিউট হয়।
while লুপের সাধারণ সিনট্যাক্স:
while {condition} {
# Loop body
}condition: শর্ত যা সত্য হওয়ার আগ পর্যন্ত লুপ চলবে।
উদাহরণ:
set i 0
while {$i < 5} {
puts "Iteration $i"
incr i
}এখানে:
- শর্ত হচ্ছে
$i < 5। - প্রতি ইটারেশনে
iএর মান ১ বাড়ানো হবে। আউটপুট হবে:
Iteration 0 Iteration 1 Iteration 2 Iteration 3 Iteration 4
৩. foreach লুপ
foreach লুপ সাধারণত একটি লিস্ট বা অ্যারের উপাদানগুলোকে একটি একটি করে প্রসেস করার জন্য ব্যবহৃত হয়। এটি একটি বা একাধিক ভেরিয়েবল নিয়ে কাজ করে এবং প্রতিটি উপাদানকে একে একে প্রক্রিয়া করে।
foreach লুপের সাধারণ সিনট্যাক্স:
foreach elementList {
# Loop body
}elementList: এটি এক বা একাধিক ভেরিয়েবল বা লিস্ট হতে পারে যা লুপে ব্যবহৃত হবে।
উদাহরণ ১ (একটি লিস্টের উপাদান দিয়ে):
set fruits {apple banana orange}
foreach fruit $fruits {
puts "Fruit: $fruit"
}এখানে, লিস্ট fruits এর প্রতিটি উপাদান এক এক করে fruit ভেরিয়েবলে রাখা হবে, এবং লুপ চলতে থাকবে। আউটপুট হবে:
Fruit: apple
Fruit: banana
Fruit: orangeউদাহরণ ২ (একাধিক ভেরিয়েবল দিয়ে):
set numbers {1 2 3 4}
set words {one two three four}
foreach num $numbers word $words {
puts "$num -> $word"
}এখানে, দুটি আলাদা লিস্ট numbers এবং words একসাথে ব্যবহৃত হয়েছে। আউটপুট হবে:
1 -> one
2 -> two
3 -> three
4 -> four৪. লুপ ব্রেকিং (Loop Breaking)
টিসিএল-এ লুপের মধ্যে break কমান্ড ব্যবহার করে আপনি কোনো লুপ থেকে বেরিয়ে আসতে পারেন। এটি নির্দিষ্ট শর্তে লুপকে থামানোর জন্য ব্যবহার করা হয়।
উদাহরণ:
for {set i 0} {$i < 10} {incr i} {
if {$i == 5} {
break ;# লুপ থামিয়ে দেবে যখন i ৫ হবে
}
puts "Iteration $i"
}এখানে, লুপটি i এর মান ৫ হওয়ার পর থেমে যাবে এবং আউটপুট হবে:
Iteration 0
Iteration 1
Iteration 2
Iteration 3
Iteration 4৫. লুপ কন্টিনিউ (Loop Continue)
টিসিএল-এ লুপের মধ্যে continue কমান্ড ব্যবহার করে আপনি বর্তমান ইটারেশন বাদ দিয়ে পরবর্তী ইটারেশনে চলে যেতে পারেন।
উদাহরণ:
for {set i 0} {$i < 5} {incr i} {
if {$i == 3} {
continue ;# বর্তমান ইটারেশন বাদ দিয়ে পরবর্তী ইটারেশনে যাবে
}
puts "Iteration $i"
}এখানে, i == 3 হওয়া পর্যন্ত লুপ চলবে, তবে i == 3 হওয়ার সময় সেটি skip হবে এবং আউটপুট হবে:
Iteration 0
Iteration 1
Iteration 2
Iteration 4উপসংহার
টিসিএল-এ লুপ ব্যবহারের মাধ্যমে আপনি সহজে পুনরাবৃত্তি কার্য সম্পাদন করতে পারেন। for লুপটি নির্দিষ্ট সংখ্যক পুনরাবৃত্তির জন্য ব্যবহার হয়, while লুপটি একটি শর্ত মেনে চলতে থাকে, এবং foreach লুপটি লিস্ট বা অ্যারের উপাদানগুলো প্রসেস করার জন্য উপযুক্ত। লুপগুলোর মধ্যে break এবং continue কন্ট্রোল ফ্লো কমান্ডের মাধ্যমে আপনি লুপ পরিচালনা করতে পারবেন, যেমন লুপ থামানো বা লুপের একে একে ইটারেশন প্রক্রিয়া চলমান রাখা।
Read more