টিসিএল (Tcl) - লুপ কন্ট্রোল: break, continue, এবং return
টিসিএল (Tcl) এ লুপ কন্ট্রোল স্টেটমেন্টগুলি যেমন break, continue, এবং return ব্যবহৃত হয় লুপ এবং ফাংশনের প্রবাহ নিয়ন্ত্রণ করতে। এই স্টেটমেন্টগুলির মাধ্যমে আপনি নির্দিষ্ট শর্ত পূরণ হলে লুপ থেকে বেরিয়ে আসতে, লুপের পরবর্তী ইটারেশন এ যেতে অথবা ফাংশন থেকে বের হয়ে যেতে পারেন। নিচে প্রতিটি কন্ট্রোল স্টেটমেন্টের ব্যবহার এবং উদাহরণ দেওয়া হলো।
১. break - লুপ থেকে বাহির হওয়া
break স্টেটমেন্টটি ব্যবহার করা হয় লুপের কার্যক্রম শেষ করার জন্য, অর্থাৎ লুপ চলতে থাকা অবস্থায় শর্ত পূর্ণ হলে লুপ থেকে বের হয়ে যেতে। এটি সাধারণত ব্যবহার করা হয় যখন আপনি একটি নির্দিষ্ট শর্ত পূর্ণ হওয়ার পর লুপটি বন্ধ করতে চান।
উদাহরণ:
for {set i 0} {$i < 10} {incr i} {
if {$i == 5} {
break ;# যখন i 5 হয়, লুপটি থামিয়ে দেওয়া হবে
}
puts $i
}এখানে, i যখন 5 হয়, তখন break স্টেটমেন্টটি কার্যকর হবে এবং লুপটি থেমে যাবে, ফলে আউটপুট হবে:
0
1
2
3
4২. continue - পরবর্তী লুপ ইটারেশনে যাওয়া
continue স্টেটমেন্টটি ব্যবহার করা হয় লুপের বর্তমান ইটারেশন এড়িয়ে পরবর্তী ইটারেশনে চলে যেতে। এটি সাধারণত ব্যবহার করা হয় যখন আপনি কিছু শর্ত পূর্ণ হলে লুপের বাকি অংশটি বাদ দিতে চান এবং পরবর্তী ইটারেশনে যেতে চান।
উদাহরণ:
for {set i 0} {$i < 10} {incr i} {
if {$i % 2 == 0} {
continue ;# যখন i জোড় সংখ্যা হয়, তখন পরবর্তী ইটারেশনে চলে যাবে
}
puts $i
}এখানে, continue স্টেটমেন্টটি ব্যবহার করা হয়েছে যাতে শুধুমাত্র বিজোড় সংখ্যা প্রিন্ট হয়। আউটপুট হবে:
1
3
5
7
9৩. return - ফাংশন থেকে বাহির হওয়া
return স্টেটমেন্টটি একটি ফাংশন থেকে বাহির হয়ে আসার জন্য ব্যবহৃত হয় এবং প্রক্রিয়াটি বন্ধ করে দেয়। এটি সাধারণত ফাংশনের execution শেষ করার জন্য অথবা কোনো শর্ত পূর্ণ হলে ফাংশন থেকে রিটার্ন করার জন্য ব্যবহার করা হয়।
উদাহরণ:
proc checkNumber {num} {
if {$num < 0} {
return "Negative number" ;# যদি সংখ্যা ঋণাত্মক হয়, তাহলে ফাংশন থেকে বের হয়ে যাবে
}
return "Positive number"
}
set result [checkNumber -5]
puts $result ;# আউটপুট: Negative number
set result2 [checkNumber 10]
puts $result2 ;# আউটপুট: Positive numberএখানে, checkNumber ফাংশনটি সংখ্যার ধরণ চেক করে এবং যদি সংখ্যা ঋণাত্মক হয়, তাহলে return স্টেটমেন্টটি ফাংশনটিকে বন্ধ করে দেয় এবং "Negative number" রিটার্ন করে।
৪. break, continue, এবং return একসাথে ব্যবহার
কখনও কখনও, আপনি একই সময়ে break, continue, এবং return স্টেটমেন্টগুলিকে ব্যবহার করতে পারেন ফাংশন বা লুপের বিভিন্ন অংশে প্রবাহ নিয়ন্ত্রণ করার জন্য।
উদাহরণ:
proc processNumbers {nums} {
foreach num $nums {
if {$num < 0} {
return "Negative number encountered" ;# যদি কোনো ঋণাত্মক সংখ্যা পাওয়া যায়, ফাংশন থামবে
}
if {$num == 0} {
continue ;# যদি সংখ্যা শূন্য হয়, পরবর্তী সংখ্যা পরীক্ষা করবে
}
puts "Processing $num"
}
return "All numbers processed"
}
set result [processNumbers {1 2 0 4 5}]
puts $result ;# আউটপুট: Processing 1, Processing 2, All numbers processedএখানে, ফাংশনটি প্রথমে ঋণাত্মক সংখ্যা পাওয়ার পর থেমে যাবে এবং সেই সঙ্গে শূন্য পাওয়ার পর পরবর্তী সংখ্যায় চলে যাবে।
উপসংহার
breakস্টেটমেন্টটি ব্যবহৃত হয় লুপের কার্যক্রম শেষ করার জন্য।continueস্টেটমেন্টটি ব্যবহৃত হয় বর্তমান লুপের ইটারেশন বাদ দিয়ে পরবর্তী ইটারেশনে চলে যেতে।returnস্টেটমেন্টটি ব্যবহৃত হয় ফাংশন থেকে বাহির হয়ে আসতে।
এই লুপ কন্ট্রোল স্টেটমেন্টগুলি টিসিএল স্ক্রিপ্টে ফ্লো নিয়ন্ত্রণ করতে সাহায্য করে এবং কোডের কার্যকারিতা ও পারফরম্যান্সকে উন্নত করে।
Read more