✅ সবগুলো Scoping Function-এর সহজ বাংলা পরিচয়

 অবশ্যই! Kotlin এর Scoping Functions শেখাটা খুবই মজার, যদি আপনি একে গল্পের মতো বুঝেন। নিচে আমি সবগুলো Scoping Function (যেমন: let, run, with, apply, also) একদম সহজ ও ব্রেইন-ফ্রেন্ডলি ভাবে বাংলা ভাষায় ব্যাখ্যা করছি।


🔍 Scoping Function কী?

Scoping Function হল এমন কিছু ছোট ফাংশন যা অবজেক্টের উপর নির্দিষ্ট কিছু কাজ করতে বা মডিফাই করতে ব্যবহৃত হয়—ছোট ছোট ব্লকে। এতে কোড সুন্দর ও পরিষ্কার হয়।


✅ সবগুলো Scoping Function-এর সহজ বাংলা পরিচয়

Function Context Object Return Value Use Case
let it Lambda result Null check বা ডেটা প্রসেস করার জন্য
run this Lambda result Object configure ও লাস্ট result দরকার হলে
with this Lambda result পুরনো object কে ব্লকের মধ্যে কাজ করাতে
apply this Object itself Object initialize বা setup করার জন্য
also it Object itself Logging বা extra side task এর জন্য

🧠 গল্প করে শেখা যাক (Brain-friendly):

1️⃣ let — "একটু ব্যবহার করে দেখি"

val name: String? = "Rahim"
name?.let {
    println("Name is $it")
}

📌 এখানে let বলছে: “name যদি null না হয়, তাহলে আমি it দিয়ে কিছু কাজ করব।”

🔑 use case: null check, transform


2️⃣ run — "চলো একসাথে কিছু কাজ করি"

val bio = StringBuilder().run {
    append("Name: Rahim\n")
    append("Age: 25\n")
    toString()
}

📌 এখানে this হল StringBuilder. শেষে toString() রিটার্ন হয়।

🔑 use case: object configure করে কিছু value return করা


3️⃣ with — "তাকে নিয়ে কাজ করছি"

val list = mutableListOf("Apple", "Banana")
val result = with(list) {
    add("Mango")
    size
}

📌 with(list) মানে — "এই list এর context এ আমি কিছু কাজ করবো। শেষে size রিটার্ন হবে।"

🔑 use case: অনেক কিছু করতে হবে object দিয়ে, তাই "with him" বলা হচ্ছে।


4️⃣ apply — "আমি নিজেকে সাজাচ্ছি"

val person = Person().apply {
    name = "Rahim"
    age = 25
}

📌 apply বলে: “আমি নিজেকে (this) সাজিয়ে রিটার্ন করব।” কোন কিছু return না করে object টাই দেয়।

🔑 use case: object configure & return object itself


5️⃣ also — "আরও কিছু করে ফেলি"

val list = mutableListOf("Apple", "Banana").also {
    println("Original list: $it")
}

📌 also বলছে: “আমি কাজ শেষ করব, কিন্তু পাশাপাশি কিছু side কাজও করব।” object রিটার্ন করবে।

🔑 use case: logging, validation, debug


🧪 মিলিয়ে দেখুন – ছোট Trick দিয়ে মনে রাখুন:

  • let → use it → ভেতরে কাজ করে result দেয়

  • run → use this → কাজ করে result দেয়

  • with → use this → কাজ করে result দেয় (without extension)

  • apply → use this → কাজ করে object ফেরত দেয়

  • also → use it → কাজ করে object ফেরত দেয়


🤓 Bonus Tip:

একটা ছোট mnemonic বানাতে পারেন:

Let Run With Apply Also
L-R-W-A-A"Lovely Red Water Always Available"


আপনি চাইলে আমি এই টপিকের উপর একটা মজার ইনফোগ্রাফিক/ডায়াগ্রাম তৈরি করে দিতে পারি। চাইলে বলবেন 😊

আপনি এখন কোনটা নিয়ে প্র্যাকটিস করতে চান?

Comments

Popular posts from this blog

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

🧠 Regex কী?

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