Infix Function সহজভাবে বোঝানো

 

🔹 Infix Function সহজভাবে বোঝানো

Infix function হল Kotlin-এর একটি বিশেষ ফিচার, যা ফাংশন কল করার সময় ডট (.) এবং ব্র্যাকেট (()) বাদ দিয়ে আরও সহজ ও স্বাভাবিক ভাষার মতো কোড লেখার সুবিধা দেয়

🚀 সাধারণ ফাংশন বনাম Infix ফাংশন

নিচে আমরা দুটি উদাহরণ দেখবো—একটি সাধারণ ফাংশন দিয়ে, আরেকটি infix ফাংশন দিয়ে।


🔹 সাধারণ ফাংশন দিয়ে

class Person(val name: String) {
    fun greet(other: Person): String {
        return "$name says hello to ${other.name}"
    }
}

val p1 = Person("Rahim")
val p2 = Person("Karim")

println(p1.greet(p2)) // Output: Rahim says hello to Karim

এখানে greet() ফাংশন কল করতে ডট (.) এবং ব্র্যাকেট (()) ব্যবহার করতে হচ্ছে।


🔹 Infix ফাংশন দিয়ে

class Person(val name: String) {
    infix fun greet(other: Person): String {
        return "$name says hello to ${other.name}"
    }
}

val p1 = Person("Rahim")
val p2 = Person("Karim")

println(p1 greet p2) // Output: Rahim says hello to Karim

এখানে infix কিওয়ার্ড ব্যবহার করায় p1.greet(p2)-এর পরিবর্তে p1 greet p2 লিখতে পেরেছি!


🔹 Infix ফাংশন লেখার নিয়ম

1️⃣ ফাংশনটি অবশ্যই একটি ক্লাসের মেম্বার বা এক্সটেনশন ফাংশন হতে হবে।
2️⃣ এটি শুধুমাত্র একটি প্যারামিটার নিতে পারবে
3️⃣ ফাংশনের আগে infix কিওয়ার্ড ব্যবহার করতে হবে।


🔹 বাস্তব উদাহরণ: দুটি সংখ্যা যোগ করা

infix fun Int.add(other: Int): Int {
    return this + other
}

val result = 10 add 5
println(result) // Output: 15

এখানে 10 add 5 লিখে সহজেই যোগফল পেয়েছি!


🔹 কেন Infix Function ব্যবহার করবেন?

✅ কোড আরও প্রাকৃতিক ভাষার মতো পড়ে
চেইন করে লেখা যায়, যেমন:

val result = 10 add 5 add 2 // Output: 17

to নামক Infix ফাংশন আগে থেকেই Kotlin-এ আছে:

val pair = "Rahim" to "Karim"
println(pair) // Output: (Rahim, Karim)

🔹 উপসংহার

👉 Infix function কোডকে সহজ ও প্রাকৃতিকভাবে পড়ার মতো করে তোলে।
👉 শুধুমাত্র একটি প্যারামিটার নেয় এবং infix কিওয়ার্ড ব্যবহার করতে হয়
👉 সাবধানে ব্যবহার করুন, কারণ অনেক বেশি Infix ব্যবহার করলে কোড অস্পষ্ট হয়ে যেতে পারে

🔹 এখন কি বুঝতে পেরেছেন? 😊

Comments

Popular posts from this blog

AI (Artificial Intelligence) সহজভাবে বোঝার জন্য একদম মস্তিষ্ক-বান্ধব ব্যাখ্যা 🧠🤖

🧠 Regex কী?

Kotlin-এ ভেরিয়েবল ঘোষণা করার দুই উপায়