Swift-এ অপারেটর এবং এক্সপ্রেশন
Swift-এ অপারেটর এবং এক্সপ্রেশনগুলি ব্যবহার করে ডেটা ম্যানিপুলেট এবং বিভিন্ন ধরনের গাণিতিক, লজিক্যাল, এবং কম্পারিজন কাজ করা যায়। অপারেটর এবং এক্সপ্রেশনগুলি Swift প্রোগ্রামিং ভাষার একটি মৌলিক অংশ।
অপারেটরের ধরনসমূহ
অ্যারিথমেটিক অপারেটর:
+(যোগ),-(বিয়োগ),*(গুণ),/(ভাগ),%(মডুলাস)- উদাহরণ:
let sum = 5 + 3 // ফলাফল: 8
let difference = 10 - 4 // ফলাফল: 6
let product = 4 * 5 // ফলাফল: 20
let quotient = 10 / 2 // ফলাফল: 5
let remainder = 10 % 3 // ফলাফল: 1
কম্পারিজন অপারেটর:
==(সমান),!=(অসমান),>(বড়),<(ছোট),>=(বড় বা সমান),<=(ছোট বা সমান)- উদাহরণ:
let isEqual = (5 == 5) // ফলাফল: true
let isGreater = (7 > 3) // ফলাফল: true
অ্যাসাইনমেন্ট অপারেটর:
=: ভেরিয়েবল বা কনস্ট্যান্টে মান অ্যাসাইন করতে ব্যবহৃত হয়।- উদাহরণ:
var x = 10
x += 5 // x = x + 5, এখন x-এর মান 15
লজিক্যাল অপারেটর:
&&(AND),||(OR),!(NOT)- উদাহরণ:
let isAdult = true
let hasPermission = false
let canEnter = isAdult && hasPermission // ফলাফল: false
ইনক্রিমেন্ট এবং ডিক্রিমেন্ট অপারেটর:
++এবং--(Swift 3.0 থেকে বাদ দেয়া হয়েছে, এখন+= 1বা-= 1ব্যবহার করতে হয়)- উদাহরণ:
var counter = 0
counter += 1 // counter এখন 1
counter -= 1 // counter এখন 0
টেরনারি কন্ডিশনাল অপারেটর:
condition ? trueValue : falseValue- এটি একটি ছোট আকারের
if-elseস্টেটমেন্ট। - উদাহরণ:
let age = 18
let isEligible = (age >= 18) ? "Eligible" : "Not Eligible"
নিল-কোলেসিং অপারেটর (??):
- অপশনাল ভ্যালু না থাকলে ডিফল্ট মান দিতে ব্যবহৃত হয়।
- উদাহরণ:
let optionalName: String? = nil
let defaultName = optionalName ?? "Guest" // ফলাফল: "Guest"
এক্সপ্রেশন কী?
এক্সপ্রেশন হলো এক বা একাধিক অপারেটর এবং অপারেন্ডের সমন্বয়ে গঠিত একটি কনস্ট্রাক্ট, যা একটি মান প্রদান করে। উদাহরণ হিসেবে 5 + 3 একটি অ্যারিথমেটিক এক্সপ্রেশন যা ৮ রিটার্ন করে।
সংক্ষেপে:
Swift-এ অপারেটর এবং এক্সপ্রেশনগুলি ডেটা ম্যানিপুলেট, শর্ত চেক, এবং লজিক্যাল কাজ করতে ব্যবহৃত হয়। এগুলো Swift প্রোগ্রামিং-এর মূল ভিত্তি হিসেবে কাজ করে, এবং এগুলি ভালোভাবে আয়ত্ত করা প্রয়োজন, বিশেষ করে কোড লেখার সময়।
Swift-এ অ্যারিথমেটিক অপারেটরগুলি গাণিতিক কাজ সম্পাদন করতে ব্যবহৃত হয়। এগুলির মাধ্যমে আপনি সংখ্যার উপর গাণিতিক অপারেশন (যেমন যোগ, বিয়োগ, গুণ, ভাগ) করতে পারেন।
Swift-এ অ্যারিথমেটিক অপারেটর
নিচে Swift-এ ব্যবহৃত প্রধান অ্যারিথমেটিক অপারেটরগুলি উল্লেখ করা হলো:
যোগ (+): দুটি সংখ্যার যোগফল বের করতে ব্যবহৃত হয়।
let sum = 5 + 3 // ফলাফল: 8
বিয়োগ (-): দুটি সংখ্যার বিয়োগফল বের করতে ব্যবহৃত হয়।
let difference = 10 - 4 // ফলাফল: 6
গুণ (*): দুটি সংখ্যার গুণফল বের করতে ব্যবহৃত হয়।
let product = 4 * 5 // ফলাফল: 20
ভাগ (/): দুটি সংখ্যার ভাগফল বের করতে ব্যবহৃত হয়।
- বিঃদ্রঃ: যদি বিভাজক (denominator) শূন্য হয়, তাহলে এটি রানটাইম ত্রুটি তৈরি করবে।
let quotient = 10 / 2 // ফলাফল: 5
মডুলাস (%): দুটি সংখ্যার মধ্যে ভাগশেষ নির্ণয় করতে ব্যবহৃত হয়।
- মডুলাস অপারেটর শুধুমাত্র পূর্ণসংখ্যার (integers) জন্য ব্যবহৃত হয়।
let remainder = 10 % 3 // ফলাফল: 1
অপারেটর ব্যবহার সংক্রান্ত গুরুত্বপূর্ণ তথ্য
Swift-এ অপারেটরগুলির মধ্যে স্পেস থাকা ভালো প্র্যাকটিস, যেমন 5 + 3, যা কোডকে পরিষ্কার ও সহজপাঠ্য করে।
Swift টাইপ-সেফ ভাষা হওয়ার কারণে, অ্যারিথমেটিক অপারেশন করার সময় আপনি শুধু একই ডেটা টাইপের ভেরিয়েবল ব্যবহার করতে পারবেন। উদাহরণস্বরূপ, Int এবং Double একসাথে ব্যবহার করলে কম্পাইল টাইমে ত্রুটি দেখা যাবে। সেক্ষেত্রে টাইপ কাস্টিং করতে হবে:
let integerNumber = 10
let doubleNumber = 2.5
let result = Double(integerNumber) + doubleNumber // টাইপ কাস্টিং করে সঠিক ফলাফল পাওয়া
উদাহরণ: বিভিন্ন অ্যারিথমেটিক অপারেটরের প্রয়োগ
let a = 15
let b = 4
let addition = a + b // 15 + 4 = 19
let subtraction = a - b // 15 - 4 = 11
let multiplication = a * b // 15 * 4 = 60
let division = a / b // 15 / 4 = 3 (পূর্ণসংখ্যা বিভাগ)
let modulus = a % b // 15 % 4 = 3 (ভাগশেষ)
সংক্ষেপে
Swift-এ অ্যারিথমেটিক অপারেটরগুলি সাধারণ গাণিতিক অপারেশন সহজে করতে দেয়। এগুলি ভালভাবে আয়ত্ত করা প্রয়োজন, কারণ প্রোগ্রামিংয়ের বিভিন্ন জটিল গণনা বা লজিক তৈরি করতে এগুলি প্রায়ই ব্যবহার করা হয়।
Swift-এ কমপ্যারিজন অপারেটর ব্যবহার করে ভ্যালু বা এক্সপ্রেশনগুলির মধ্যে তুলনা করা হয়। এগুলি সাধারণত শর্তমূলক স্টেটমেন্ট (if, while ইত্যাদি) এবং লজিক্যাল অপারেশনগুলিতে ব্যবহৃত হয়। Swift-এ কয়েকটি সাধারণ কমপ্যারিজন অপারেটর রয়েছে, যা ভ্যালুগুলির মধ্যে সম্পর্ক চেক করতে ব্যবহৃত হয়। এই অপারেটরগুলো সাধারণত Bool (সত্য বা মিথ্যা) মান রিটার্ন করে।
Swift-এ কমপ্যারিজন অপারেটরের ধরন
১. == (সমান): চেক করে দুটি মান সমান কিনা। ২. != (অসমান): চেক করে দুটি মান সমান নয় কিনা। ৩. > (বড়): চেক করে প্রথম মান দ্বিতীয় মানের চেয়ে বড় কিনা। ৪. < (ছোট): চেক করে প্রথম মান দ্বিতীয় মানের চেয়ে ছোট কিনা। ৫. >= (বড় বা সমান): চেক করে প্রথম মান দ্বিতীয় মানের চেয়ে বড় বা সমান কিনা। ৬. <= (ছোট বা সমান): চেক করে প্রথম মান দ্বিতীয় মানের চেয়ে ছোট বা সমান কিনা।
কমপ্যারিজন অপারেটরের উদাহরণ
let a = 10
let b = 20
print(a == b) // false, কারণ a এবং b সমান নয়
print(a != b) // true, কারণ a এবং b সমান নয়
print(a > b) // false, কারণ a, b এর চেয়ে বড় নয়
print(a < b) // true, কারণ a, b এর চেয়ে ছোট
print(a >= b) // false, কারণ a, b এর চেয়ে বড় বা সমান নয়
print(a <= b) // true, কারণ a, b এর চেয়ে ছোট বা সমান
কমপ্যারিজন অপারেটর ব্যবহার করে শর্ত চেক করা
কমপ্যারিজন অপারেটর সাধারণত শর্তমূলক স্টেটমেন্টে ব্যবহৃত হয়। নিচে একটি উদাহরণ দেওয়া হলো:
let age = 18
if age >= 18 {
print("You are eligible to vote.")
} else {
print("You are not eligible to vote.")
}
- এখানে
age >= 18শর্তটি চেক করা হচ্ছে। যদিageএর মান ১৮ বা তার বেশি হয়, তাহলে"You are eligible to vote."প্রিন্ট হবে; অন্যথায়"You are not eligible to vote."প্রিন্ট হবে।
স্ট্রিং এবং অন্যান্য টাইপের মধ্যে কমপ্যারিজন
Swift-এ শুধুমাত্র সংখ্যা নয়, স্ট্রিং এবং অন্যান্য ডেটাটাইপের মানগুলিও কমপ্যার করা যায়:
let name1 = "Alice"
let name2 = "Bob"
print(name1 == name2) // false, কারণ "Alice" এবং "Bob" সমান নয়
print(name1 != name2) // true, কারণ "Alice" এবং "Bob" সমান নয়
let isStudent = true
let isLoggedIn = true
print(isStudent == isLoggedIn) // true, কারণ উভয়ই সমান
সংক্ষিপ্ত বিবরণ
Swift-এ কমপ্যারিজন অপারেটরগুলো ব্যবহার করে:
- দুটি মান সমান বা অসমান কিনা চেক করা যায়।
- একটি মান অন্য মানের চেয়ে বড় বা ছোট কিনা চেক করা যায়।
- এই অপারেটরগুলো সাধারণত শর্তমূলক স্টেটমেন্ট এবং লজিক্যাল অপারেশনে ব্যবহার করা হয়।
কমপ্যারিজন অপারেটরগুলো Swift প্রোগ্রামিংয়ে গুরুত্বপূর্ণ ভূমিকা পালন করে, কারণ এগুলি ব্যবহার করে আমরা প্রোগ্রামের লজিক তৈরি করতে এবং শর্ত অনুযায়ী কোড এক্সিকিউট করতে পারি।
Swift-এ লজিকাল অপারেটর ব্যবহার করে বিভিন্ন শর্ত ভিত্তিক প্রোগ্রামিং করা হয়। লজিকাল অপারেটরগুলি মূলত বুলিয়ান (
trueবাfalse) মান ব্যবহার করে এবং কোডে বিভিন্ন শর্ত একসাথে পরীক্ষা করতে সাহায্য করে।
লজিকাল অপারেটর
Swift-এ প্রধানত তিনটি লজিকাল অপারেটর রয়েছে:
১. AND (&&) অপারেটর
&& অপারেটর ব্যবহার করে দুটি শর্তের মধ্যে AND সম্পর্ক তৈরি করা হয়। দুটি শর্তই যদি true হয়, তবে ফলাফল true হয়; যদি একটি বা উভয় শর্তই false হয়, তবে ফলাফল false হবে।
সিনট্যাক্স:
condition1 && condition2
উদাহরণ:
let age = 25
let hasID = true
if age >= 18 && hasID {
print("You are allowed to enter.")
} else {
print("Access denied.")
}
এখানে, age >= 18 এবং hasID উভয় শর্তই true হলে প্রোগ্রামটি "You are allowed to enter." প্রিন্ট করবে।
২. OR (||) অপারেটর
|| অপারেটর ব্যবহার করে দুটি শর্তের মধ্যে OR সম্পর্ক তৈরি করা হয়। যদি একটি বা উভয় শর্ত true হয়, তবে ফলাফল true হবে; দুটি শর্তই যদি false হয়, তবে ফলাফল false হবে।
সিনট্যাক্স:
condition1 || condition2
উদাহরণ:
let hasPermission = false
let isAdmin = true
if hasPermission || isAdmin {
print("Access granted.")
} else {
print("Access denied.")
}
এখানে, hasPermission false হলেও isAdmin true হওয়ায় প্রোগ্রামটি "Access granted." প্রিন্ট করবে।
৩. NOT (!) অপারেটর
! অপারেটরটি একটি বুলিয়ান মানকে বিপরীত মানে পরিবর্তন করে। অর্থাৎ, যদি একটি শর্ত true হয়, তাহলে ! অপারেটর সেটিকে false করবে এবং যদি false হয়, তাহলে সেটিকে true করবে।
সিনট্যাক্স:
!condition
উদাহরণ:
let isGuest = false
if !isGuest {
print("Welcome, registered user!")
} else {
print("Guest access only.")
}
এখানে, !isGuest true হওয়ায় প্রোগ্রামটি "Welcome, registered user!" প্রিন্ট করবে।
লজিকাল অপারেটরের সংমিশ্রণ
Swift-এ আপনি একাধিক লজিকাল অপারেটর একসাথে ব্যবহার করতে পারেন। উদাহরণস্বরূপ:
let age = 20
let hasDrivingLicense = true
let isCarAvailable = false
if (age >= 18 && hasDrivingLicense) || isCarAvailable {
print("You can drive.")
} else {
print("You cannot drive.")
}
এখানে (age >= 18 && hasDrivingLicense) অংশটি true, কিন্তু isCarAvailable false। যেহেতু আমরা OR (||) ব্যবহার করেছি, তাই প্রথম অংশ true হওয়ায় প্রোগ্রামটি "You can drive." প্রিন্ট করবে।
উপসংহার
Swift-এ লজিকাল অপারেটরগুলি শর্ত নির্ধারণ এবং পরীক্ষা করার জন্য ব্যবহৃত হয়। AND (&&), OR (||), এবং NOT (!) অপারেটরগুলি ব্যবহার করে আপনি জটিল শর্ত নির্ধারণ করতে পারেন এবং প্রোগ্রামের প্রবাহ নিয়ন্ত্রণ করতে পারেন। এগুলি শেখা এবং প্রয়োগ করা প্রোগ্রামিং দক্ষতার একটি গুরুত্বপূর্ণ অংশ।
Swift-এ অ্যাসাইনমেন্ট অপারেটর (
=) ব্যবহার করে একটি ভেরিয়েবল বা কনস্ট্যান্টে মান অ্যাসাইন করা হয়। এটি সবচেয়ে সাধারণ অপারেটর এবং Swift প্রোগ্রামিং-এর একটি ভিত্তি।
Swift-এ অ্যাসাইনমেন্ট অপারেটর
নিচে এর বিস্তারিত ব্যাখ্যা দেওয়া হলো:
১. সাধারণ অ্যাসাইনমেন্ট (=):
- ভেরিয়েবলে বা কনস্ট্যান্টে কোনো মান অ্যাসাইন করতে ব্যবহার করা হয়।
var number = 10
let name = "Alice"
২. কমপাউন্ড অ্যাসাইনমেন্ট অপারেটর:
- এটি অ্যারিথমেটিক অপারেটরগুলির সাথে মিলিত হয় এবং বর্তমান মানের সাথে নতুন মান যোগ, বিয়োগ, গুণ, বা ভাগ করতে ব্যবহৃত হয়।
| অপারেটর | বর্ণনা | উদাহরণ |
|---|---|---|
+= | যোগ এবং অ্যাসাইন | x += 5 |
-= | বিয়োগ এবং অ্যাসাইন | x -= 3 |
*= | গুণ এবং অ্যাসাইন | x *= 2 |
/= | ভাগ এবং অ্যাসাইন | x /= 4 |
%= | মডুলাস এবং অ্যাসাইন | x %= 3 |
উদাহরণ:
var count = 10
count += 5 // count = count + 5, এখন count এর মান 15
৩. চেইনড অ্যাসাইনমেন্ট:
- একাধিক ভেরিয়েবলে একসঙ্গে মান অ্যাসাইন করা যায়।
var x, y, z: Int
x = y = z = 20
সংক্ষেপে:
Swift-এ অ্যাসাইনমেন্ট অপারেটর মান সেট করার এবং বিভিন্ন গণনা সংক্ষেপে করার একটি গুরুত্বপূর্ণ টুল।
Swift-এ টার্নারি অপারেটর হলো একটি সংক্ষিপ্ত উপায়ে শর্তমূলক স্টেটমেন্ট লেখার একটি পদ্ধতি। এটি if-else স্টেটমেন্টের একটি ছোট এবং কমপ্যাক্ট ফর্ম, যা একটি শর্ত চেক করে এবং শর্তের উপর ভিত্তি করে একটি মান রিটার্ন করে। Swift-এ টার্নারি অপারেটর লেখা হয় condition ? valueIfTrue : valueIfFalse আকারে।
টার্নারি অপারেটর এর গঠন
condition ? valueIfTrue : valueIfFalse
condition: একটি বুলিয়ান এক্সপ্রেশন (যাtrueঅথবাfalseহতে পারে)।valueIfTrue: যদি শর্তটিtrueহয়, তাহলে এই মানটি রিটার্ন হবে।valueIfFalse: যদি শর্তটিfalseহয়, তাহলে এই মানটি রিটার্ন হবে।
টার্নারি অপারেটর উদাহরণ
let age = 20
let eligibility = age >= 18 ? "Eligible to vote" : "Not eligible to vote"
print(eligibility) // Output: "Eligible to vote"
উপরের উদাহরণে:
age >= 18হলো শর্ত, যা চেক করছেageএর মান ১৮ বা তার বেশি কিনা।- যদি শর্তটি
trueহয়, তাহলে"Eligible to vote"রিটার্ন হবে। - যদি শর্তটি
falseহয়, তাহলে"Not eligible to vote"রিটার্ন হবে।
আরও উদাহরণ
১. Even বা Odd সংখ্যা চেক করা
let number = 7
let result = number % 2 == 0 ? "Even" : "Odd"
print(result) // Output: "Odd"
- এখানে
number % 2 == 0শর্তটি চেক করছে, যদিnumber২ দ্বারা বিভাজ্য হয় (অর্থাৎevenহয়), তাহলে"Even"রিটার্ন হবে; অন্যথায়"Odd"রিটার্ন হবে।
২. গ্রেড চেক করা
let score = 85
let grade = score >= 60 ? "Pass" : "Fail"
print(grade) // Output: "Pass"
- এখানে
score >= 60শর্তটি চেক করছে, যদিscore৬০ বা তার বেশি হয়, তাহলে"Pass"রিটার্ন হবে; অন্যথায়"Fail"রিটার্ন হবে।
টার্নারি অপারেটরের ব্যবহার
- সংক্ষিপ্ত কোড লেখা: টার্নারি অপারেটর ব্যবহার করে আমরা
if-elseস্টেটমেন্টের তুলনায় ছোট এবং কমপ্যাক্ট কোড লিখতে পারি। - এক্সপ্রেশন হিসেবে ব্যবহার: টার্নারি অপারেটর একটি এক্সপ্রেশন হিসেবে কাজ করে, অর্থাৎ এটি সরাসরি কোনো ভেরিয়েবলে মান অ্যাসাইন করতে পারে।
টার্নারি অপারেটর বনাম if-else স্টেটমেন্ট
টার্নারি অপারেটর এবং if-else স্টেটমেন্টের মধ্যে প্রধান পার্থক্য হলো টার্নারি অপারেটর একটি ছোট এবং এক লাইনের ফর্ম, যেখানে if-else একটি বৃহত্তর এবং মাল্টি-লাইন ফর্ম। সাধারণত, ছোট এবং সরল শর্তগুলির জন্য টার্নারি অপারেটর ব্যবহার করা হয়।
// if-else স্টেটমেন্ট দিয়ে লেখা
let age = 20
var eligibility: String
if age >= 18 {
eligibility = "Eligible to vote"
} else {
eligibility = "Not eligible to vote"
}
print(eligibility) // Output: "Eligible to vote"
// টার্নারি অপারেটর দিয়ে লেখা
let eligibilityTernary = age >= 18 ? "Eligible to vote" : "Not eligible to vote"
print(eligibilityTernary) // Output: "Eligible to vote"
উপরের উদাহরণে দেখা যায়, টার্নারি অপারেটর ব্যবহারে কোডটি কতটা সংক্ষিপ্ত হয়ে গেছে।
টার্নারি অপারেটর ব্যবহারের ক্ষেত্রে সতর্কতা
যদিও টার্নারি অপারেটর কোডকে সংক্ষিপ্ত করে, তবে এটি সবসময় উপযুক্ত নয়। যদি শর্তটি খুব জটিল হয় বা কোডটি একাধিক কাজ সম্পন্ন করে, তাহলে if-else ব্যবহার করা ভালো, কারণ এটি আরও পড়তে এবং বুঝতে সহজ হয়।
উপসংহার
Swift-এ টার্নারি অপারেটর হলো একটি সংক্ষিপ্ত এবং কার্যকরী পদ্ধতি, যা সহজ শর্তমূলক স্টেটমেন্টের জন্য খুব উপযোগী। এটি কোডকে সংক্ষিপ্ত এবং পরিষ্কার করতে সাহায্য করে, তবে এটি ব্যবহার করার সময় শর্ত এবং এক্সপ্রেশনগুলি সহজ এবং সংক্ষিপ্ত রাখা উচিত।