Swift প্রোগ্রামিং ভাষায় কন্ট্রোল ফ্লো ব্যবহার করে প্রোগ্রামের বিভিন্ন অংশের এক্সিকিউশন নিয়ন্ত্রণ করা যায়। কন্ট্রোল ফ্লো স্টেটমেন্টের মাধ্যমে আপনি শর্তানুযায়ী প্রোগ্রামের অংশ চালাতে পারেন, লুপের মাধ্যমে পুনরাবৃত্তি করতে পারেন, বা বিশেষ কন্ডিশনের উপর ভিত্তি করে সিদ্ধান্ত নিতে পারেন।
Swift-এ কন্ট্রোল ফ্লো
Swift-এর কন্ট্রোল ফ্লো স্টেটমেন্টগুলির মধ্যে রয়েছে:
১. শর্তযুক্ত স্টেটমেন্ট (Conditional Statements):
if: শর্ত পূরণ হলে একটি নির্দিষ্ট কোড ব্লক চালায়।
else if / else: শর্ত পূরণ না হলে বিকল্প কোড ব্লক চালায়।
উদাহরণ:
let temperature = 30
if temperature > 25 {
print("It's a hot day!")
} else if temperature < 10 {
print("It's a cold day!")
} else {
print("The weather is moderate.")
}
switch: অনেক শর্ত যাচাই করতে এবং একটি নির্দিষ্ট শর্ত পূরণ হলে নির্দিষ্ট কোড ব্লক চালাতে ব্যবহৃত হয়। এটি সাধারণত if-else চেইনের বিকল্প হিসেবে ব্যবহৃত হয়।
উদাহরণ:
let grade = "A"
switch grade {
case "A":
print("Excellent!")
case "B":
print("Good job!")
case "C":
print("Needs improvement.")
default:
print("Invalid grade.")
}
২. লুপ (Loops):
for-in লুপ: নির্দিষ্ট সংখ্যক বার বা কালেকশনের প্রতিটি আইটেমের জন্য কোড চালায়।
for i in 1...5 {
print(i)
}
while লুপ: শর্ত পূরণ না হওয়া পর্যন্ত কোড চালায়।
var count = 0
while count < 5 {
print(count)
count += 1
}
repeat-while লুপ: শর্ত চেক করার আগে একবার কোড চালায়, তারপর শর্ত মেনে চলা পর্যন্ত চালাতে থাকে।
var counter = 0
repeat {
print(counter)
counter += 1
} while counter < 5
৩. গার্ড স্টেটমেন্ট:
- guard: কোন শর্ত না পূরণ হলে প্রোগ্রাম বা ফাংশন থেকে দ্রুত বের হতে ব্যবহৃত হয়। এটি সাধারণত ফাংশনের শুরুতে কোডকে সহজপাঠ্য করতে ব্যবহার করা হয়।
- উদাহরণ:
func checkAge(age: Int) {
guard age >= 18 else {
print("You are not eligible.")
return
}
print("Welcome!")
}
৪. ব্রেক এবং কন্টিনিউ:
- break: লুপ বা
switchব্লক থেকে বের হয়ে যেতে ব্যবহৃত হয়। - continue: লুপের বর্তমান ইটারেশন বাদ দিয়ে পরের ইটারেশন শুরু করতে ব্যবহৃত হয়।
for i in 1...5 {
if i == 3 {
continue // ৩ এ লুপ স্কিপ হবে
}
print(i)
}
৫. এয়ারলি এক্সিট (Early Exit):
- কন্ট্রোল ফ্লো স্টেটমেন্ট যেমন guard এবং return ব্যবহার করে কোড থেকে দ্রুত বেরিয়ে আসা যায়। এটি কোড পড়া এবং বুঝতে সহজ করে তোলে এবং প্রোগ্রামিংয়ের বেস্ট প্র্যাকটিস হিসেবে পরিচিত।
সংক্ষেপে:
Swift-এ কন্ট্রোল ফ্লো স্টেটমেন্ট প্রোগ্রামের প্রবাহ নিয়ন্ত্রণ করতে, শর্ত পূরণ হলে নির্দিষ্ট কোড চালাতে, পুনরাবৃত্তিমূলক কাজ করতে এবং কোডের কার্যকারিতা বাড়াতে ব্যবহৃত হয়। কন্ট্রোল ফ্লো স্টেটমেন্টগুলো আয়ত্ত করা Swift প্রোগ্রামিং দক্ষতা বাড়ানোর জন্য অত্যন্ত গুরুত্বপূর্ণ।
Swift-এ শর্ত ভিত্তিক স্টেটমেন্ট ব্যবহার করে প্রোগ্রামের লজিক্যাল ফ্লো নিয়ন্ত্রণ করা যায়। এগুলির মাধ্যমে প্রোগ্রাম নির্দিষ্ট শর্ত অনুযায়ী বিভিন্ন কাজ সম্পন্ন করতে পারে। Swift-এ শর্ত ভিত্তিক স্টেটমেন্টগুলো হলো if, else if, else, এবং switch। এগুলো ব্যবহার করে প্রোগ্রামের বিভিন্ন অবস্থা বা কন্ডিশন চেক করে ভিন্ন ভিন্ন কার্যক্রম সম্পাদন করা যায়।
১. if স্টেটমেন্ট
if স্টেটমেন্ট ব্যবহার করে একটি শর্ত চেক করা হয়। যদি শর্তটি true হয়, তাহলে নির্দিষ্ট কোড ব্লক এক্সিকিউট হয়।
let temperature = 30
if temperature > 25 {
print("It's a hot day!")
}
উপরের উদাহরণে, যদি temperature ২৫ এর চেয়ে বেশি হয়, তাহলে "It's a hot day!" প্রিন্ট হবে।
২. else স্টেটমেন্ট
else স্টেটমেন্ট if স্টেটমেন্টের পরে ব্যবহার করা হয় এবং এটি এক্সিকিউট হয় যদি if স্টেটমেন্টের শর্ত false হয়।
let age = 16
if age >= 18 {
print("You are eligible to vote.")
} else {
print("You are not eligible to vote.")
}
এখানে, যদি age ১৮ বা তার বেশি হয়, তাহলে "You are eligible to vote." প্রিন্ট হবে; অন্যথায় "You are not eligible to vote." প্রিন্ট হবে।
৩. else if স্টেটমেন্ট
else if স্টেটমেন্ট ব্যবহার করে একাধিক শর্ত চেক করা যায়। এটি if স্টেটমেন্টের পরে এবং else স্টেটমেন্টের আগে আসে। যদি প্রথম শর্ত false হয়, তবে পরবর্তী else if শর্ত চেক করা হয়।
let score = 75
if score >= 90 {
print("Excellent!")
} else if score >= 70 {
print("Good job!")
} else if score >= 50 {
print("You passed.")
} else {
print("Better luck next time.")
}
- যদি
score৯০ বা তার বেশি হয়,"Excellent!"প্রিন্ট হবে। - যদি
score৭০ বা তার বেশি কিন্তু ৯০ এর কম হয়,"Good job!"প্রিন্ট হবে। - যদি
score৫০ বা তার বেশি কিন্তু ৭০ এর কম হয়,"You passed."প্রিন্ট হবে। - অন্যথায়,
"Better luck next time."প্রিন্ট হবে।
৪. switch স্টেটমেন্ট
switch স্টেটমেন্ট ব্যবহার করে একাধিক মান চেক করা যায়। এটি if-else এর একটি বিকল্প, যা কোড পড়তে আরও সহজ এবং সুসংগত করে। switch স্টেটমেন্টে প্রতিটি কেসের জন্য একটি নির্দিষ্ট কোড ব্লক এক্সিকিউট হয়, যা নির্দিষ্ট মানের সাথে মিলিত হলে কার্যকর হয়।
let day = "Monday"
switch day {
case "Monday":
print("Start of the work week.")
case "Wednesday":
print("Midweek!")
case "Friday":
print("Almost the weekend!")
default:
print("It's a regular day.")
}
- যদি
dayএর মান"Monday"হয়,"Start of the work week."প্রিন্ট হবে। - যদি
dayএর মান"Wednesday"হয়,"Midweek!"প্রিন্ট হবে। - যদি
dayএর মান"Friday"হয়,"Almost the weekend!"প্রিন্ট হবে। - যদি উপরের কোনো কেসের সাথে মিল না থাকে, তবে
defaultব্লক এক্সিকিউট হয়ে"It's a regular day."প্রিন্ট হবে।
switch স্টেটমেন্টে রেঞ্জ ব্যবহার করা
Swift-এর switch স্টেটমেন্টে রেঞ্জও ব্যবহার করা যায়, যা if-else এর চেয়ে অনেক সহজ এবং কার্যকর হতে পারে।
let marks = 85
switch marks {
case 90...100:
print("Excellent")
case 75..<90:
print("Very Good")
case 50..<75:
print("Good")
default:
print("Needs Improvement")
}
- যদি
marks৯০ থেকে ১০০ এর মধ্যে হয়, তাহলে"Excellent"প্রিন্ট হবে। - যদি
marks৭৫ থেকে ৮৯ এর মধ্যে হয়,"Very Good"প্রিন্ট হবে। - যদি
marks৫০ থেকে ৭৪ এর মধ্যে হয়,"Good"প্রিন্ট হবে। - অন্যথায়,
"Needs Improvement"প্রিন্ট হবে।
if-else এবং switch স্টেটমেন্টের পার্থক্য
| বৈশিষ্ট্য | if-else স্টেটমেন্ট | switch স্টেটমেন্ট |
|---|---|---|
| ব্যবহার | এক বা একাধিক শর্ত চেক করতে ব্যবহৃত হয়। | নির্দিষ্ট মানের ভিত্তিতে একাধিক কেস চেক করতে ব্যবহৃত হয়। |
| কোডের সংক্ষিপ্ততা | অনেক শর্ত থাকলে কোড বড় হয়ে যেতে পারে। | কোড ছোট এবং সুসংগত থাকে। |
| কার্যকারিতা | কমপ্লেক্স শর্ত বা কন্ডিশনের জন্য উপযুক্ত। | নির্দিষ্ট মান বা রেঞ্জ চেক করার জন্য উপযুক্ত। |
উপসংহার
Swift-এ শর্ত ভিত্তিক স্টেটমেন্ট যেমন if, else, else if, এবং switch ব্যবহার করে প্রোগ্রামের লজিক্যাল ফ্লো সহজেই নিয়ন্ত্রণ করা যায়।
if-elseস্টেটমেন্ট সাধারণ শর্ত বা কন্ডিশন চেক করার জন্য উপযোগী।switchস্টেটমেন্ট একাধিক মান বা রেঞ্জ চেক করার জন্য সহজ এবং কার্যকর।
প্রোগ্রামিংয়ের সময় শর্ত ভিত্তিক স্টেটমেন্টগুলি প্রোগ্রামের লজিক তৈরি করতে এবং ব্যবহারকারীর ইনপুট বা পরিবেশ অনুযায়ী কার্যক্রম নির্ধারণ করতে সহায়ক।
Swift-এ লুপিং স্টেটমেন্ট ব্যবহার করে কোড বারবার চালানো যায়, যা প্রোগ্রামিংয়ের একটি গুরুত্বপূর্ণ অংশ। Swift-এ প্রধানত তিন ধরনের লুপিং স্টেটমেন্ট রয়েছে: for, while, এবং repeat-while। এই লুপগুলি বিভিন্ন পরিস্থিতিতে ব্যবহার করা হয়। নিচে প্রতিটি লুপের বিস্তারিত আলোচনা এবং উদাহরণ দেওয়া হলো:
১. for লুপ
for লুপ একটি নির্দিষ্ট সংখ্যক বার কোড ব্লক চালানোর জন্য ব্যবহৃত হয়। এটি সাধারণত এরে, রেঞ্জ, বা সিকোয়েন্সের আইটেমগুলির উপর লুপ চালানোর জন্য ব্যবহৃত হয়।
সিনট্যাক্স:
for item in sequence {
// লুপের ভিতরের কোড
}
উদাহরণ ১: রেঞ্জের উপর লুপ চালানো
for i in 1...5 {
print(i)
}
এখানে, for লুপ ১ থেকে ৫ পর্যন্ত প্রতিটি মান প্রিন্ট করবে। আউটপুট হবে:
1
2
3
4
5
উদাহরণ ২: এরে (Array) এর উপর লুপ চালানো
let fruits = ["Apple", "Banana", "Cherry"]
for fruit in fruits {
print(fruit)
}
এখানে, for লুপ এরে fruits এর প্রতিটি আইটেম (ফল) প্রিন্ট করবে। আউটপুট হবে:
Apple
Banana
Cherry
২. while লুপ
while লুপ একটি শর্ত (condition) true থাকাকালীন কোড চালিয়ে যায়। শর্তটি লুপের শুরুতে পরীক্ষা করা হয়, এবং যদি শর্ত false হয়, তাহলে লুপ বন্ধ হয়ে যায়।
সিনট্যাক্স:
while condition {
// লুপের ভিতরের কোড
}
উদাহরণ:
var count = 1
while count <= 5 {
print(count)
count += 1
}
এখানে, while লুপ ১ থেকে ৫ পর্যন্ত প্রতিটি সংখ্যা প্রিন্ট করবে এবং count পরিবর্তন করে 6 পর্যন্ত নিয়ে যাবে, যার ফলে শর্ত false হবে এবং লুপ বন্ধ হয়ে যাবে। আউটপুট হবে:
1
2
3
4
5
৩. repeat-while লুপ
repeat-while লুপ মূলত while লুপের একটি ভেরিয়েশন, যেখানে লুপের কোড কমপক্ষে একবার চালানো হয়, তারপরে শর্তটি পরীক্ষা করা হয়। যদি শর্ত true হয়, তাহলে লুপ আবার চালানো হয়।
সিনট্যাক্স:
repeat {
// লুপের ভিতরের কোড
} while condition
উদাহরণ:
var counter = 1
repeat {
print(counter)
counter += 1
} while counter <= 5
এখানে, repeat-while লুপ ১ থেকে ৫ পর্যন্ত প্রতিটি সংখ্যা প্রিন্ট করবে। আউটপুট হবে:
1
2
3
4
5
লুপিং স্টেটমেন্টের ব্যবহার
Swift-এ লুপ ব্যবহার করে আপনি সহজে বিভিন্ন কাজ বারবার করতে পারেন, যেমন:
- একটি নির্দিষ্ট রেঞ্জ বা লিস্টের উপর পুনরাবৃত্তি চালানো।
- একটি নির্দিষ্ট শর্ত পূরণ না হওয়া পর্যন্ত কোড চালানো।
- তালিকা বা এরে থেকে নির্দিষ্ট মান বের করা বা প্রিন্ট করা।
সংক্ষেপে
forলুপ: একটি নির্দিষ্ট সংখ্যক বার লুপ চালানোর জন্য ব্যবহৃত হয়, যেমন রেঞ্জ বা তালিকার উপর।whileলুপ: একটি শর্তtrueথাকলে বারবার লুপ চালানো হয়। শর্তটি লুপের শুরুতে চেক করা হয়।repeat-whileলুপ: কমপক্ষে একবার লুপ চালানো হয় এবং তারপরে শর্তটি চেক করা হয়।
Swift-এ লুপিং স্টেটমেন্টগুলি কার্যকরভাবে ব্যবহার করলে আপনি কোড আরও সহজ, কার্যকর এবং পুনরাবৃত্তিমূলক কাজের জন্য উপযোগী করে তুলতে পারবেন।
Swift-এ break, continue, এবং fallthrough হলো কন্ট্রোল ফ্লো স্টেটমেন্ট, যা লুপ বা switch স্টেটমেন্টের মধ্যে প্রোগ্রামের ফ্লো কন্ট্রোল করতে ব্যবহৃত হয়। এগুলি প্রোগ্রামের নির্দিষ্ট পয়েন্টে কার্যক্রম থামানো, স্কিপ করা বা অন্য পাথ অনুসরণ করার সুযোগ দেয়।
১. break
break স্টেটমেন্ট ব্যবহার করে একটি লুপ বা switch স্টেটমেন্টের কার্যক্রম থামানো হয়। যখনই break স্টেটমেন্ট এক্সিকিউট হয়, তখন লুপ বা switch স্টেটমেন্ট থেকে প্রোগ্রামের নিয়ন্ত্রণ বাইরে চলে আসে।
break লুপের মধ্যে ব্যবহার
for i in 1...5 {
if i == 3 {
break
}
print(i)
}
- এই লুপটি ১ থেকে ৫ পর্যন্ত চলবে, কিন্তু যখন
iএর মান ৩ হবে, তখনbreakস্টেটমেন্ট এক্সিকিউট হবে এবং লুপ বন্ধ হয়ে যাবে। - আউটপুট হবে:
1
2
break switch স্টেটমেন্টের মধ্যে ব্যবহার
let number = 2
switch number {
case 1:
print("One")
case 2:
print("Two")
break
case 3:
print("Three")
default:
print("Other number")
}
- এখানে, যখন
numberএর মান2হয়,"Two"প্রিন্ট হবে এবংbreakস্টেটমেন্টের কারণেswitchস্টেটমেন্টের কার্যক্রম বন্ধ হয়ে যাবে।
২. continue
continue স্টেটমেন্ট ব্যবহার করে একটি লুপের বর্তমান ইটারেশন স্কিপ করে পরবর্তী ইটারেশন শুরু করা হয়। এটি if বা অন্য শর্ত চেক করার পর ব্যবহার করা হয়, যাতে নির্দিষ্ট শর্ত পূরণ হলে পরবর্তী লুপে যাওয়া যায়।
for i in 1...5 {
if i == 3 {
continue
}
print(i)
}
- এখানে, যখন
iএর মান ৩ হয়, তখনcontinueস্টেটমেন্ট এক্সিকিউট হবে এবং প্রোগ্রাম সেই ইটারেশনটি স্কিপ করে পরবর্তী ইটারেশনে চলে যাবে। - আউটপুট হবে:
1
2
4
5
৩. fallthrough
fallthrough স্টেটমেন্ট ব্যবহার করে switch স্টেটমেন্টের একটি কেস থেকে পরবর্তী কেসে যাওয়া যায়, যদিও স্বাভাবিকভাবে switch স্টেটমেন্টে প্রতিটি কেসে একটি ব্রেক থাকে। Swift-এ fallthrough ব্যতিক্রম, কারণ অন্যান্য প্রোগ্রামিং ভাষার switch স্টেটমেন্টে সাধারণত এটি পাওয়া যায় না।
let value = 1
switch value {
case 1:
print("Case 1")
fallthrough
case 2:
print("Case 2")
default:
print("Default case")
}
- এখানে,
valueএর মান1, তাই"Case 1"প্রিন্ট হবে। কিন্তুfallthroughস্টেটমেন্ট থাকার কারণে প্রোগ্রাম"Case 2"কেসেও যাবে এবং সেটি প্রিন্ট করবে, যদিওvalueএর মান ২ নয়। - আউটপুট হবে:
Case 1
Case 2
সংক্ষেপে
| স্টেটমেন্ট | ব্যবহার |
|---|---|
break | লুপ বা switch স্টেটমেন্ট বন্ধ করে দেয়। |
continue | লুপের বর্তমান ইটারেশন স্কিপ করে পরবর্তী ইটারেশন শুরু করে। |
fallthrough | switch স্টেটমেন্টে একটি কেস থেকে পরবর্তী কেসে যেতে ব্যবহৃত হয়। |
কিভাবে এগুলি প্রোগ্রামে ব্যবহৃত হয়
break: যখন একটি লুপ বাswitchস্টেটমেন্টে একটি নির্দিষ্ট শর্ত পূরণ হলে আপনি কার্যক্রম বন্ধ করতে চান।continue: যখন আপনি একটি লুপের নির্দিষ্ট ইটারেশন স্কিপ করতে চান এবং পরবর্তী ইটারেশন চালাতে চান।fallthrough: যখনswitchস্টেটমেন্টে একটি কেস এক্সিকিউট হওয়ার পর আপনি পরবর্তী কেসেও যেতে চান, যদিও সাধারণত এটি অপ্রয়োজনীয় এবং সাবধানে ব্যবহার করা উচিত।
উপসংহার
Swift-এ break, continue, এবং fallthrough স্টেটমেন্টগুলো ব্যবহার করে লুপ এবং switch স্টেটমেন্টের কার্যক্রম কন্ট্রোল করা যায়। এগুলি প্রোগ্রামিং লজিক তৈরি করতে এবং নির্দিষ্ট শর্ত অনুযায়ী প্রোগ্রামের ফ্লো নিয়ন্ত্রণ করতে সহায়ক।