✅ সবগুলো 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→ useit→ ভেতরে কাজ করে result দেয় -
run→ usethis→ কাজ করে result দেয় -
with→ usethis→ কাজ করে result দেয় (without extension) -
apply→ usethis→ কাজ করে object ফেরত দেয় -
also→ useit→ কাজ করে object ফেরত দেয়
🤓 Bonus Tip:
একটা ছোট mnemonic বানাতে পারেন:
Let Run With Apply Also
→ L-R-W-A-A → "Lovely Red Water Always Available"
আপনি চাইলে আমি এই টপিকের উপর একটা মজার ইনফোগ্রাফিক/ডায়াগ্রাম তৈরি করে দিতে পারি। চাইলে বলবেন 😊
আপনি এখন কোনটা নিয়ে প্র্যাকটিস করতে চান?
Comments
Post a Comment