DEV Community

Papon Ahasan
Papon Ahasan

Posted on

Kotlin এর let, apply, also, run

Kotlin এর let, apply, also, run এগুলা এমন কিছু যেগুলা দিয়ে আমরা "কোনো জিনিস" (মানে object) নিয়ে একটু কাজ করি।

ধরো, একটা খেলনা আছে, তুমি সেটা নিয়ে কখন কী করবা, তার ওপর নির্ভর করে তুমি কোনটা ব্যবহার করবা।

১. let – যখন তুমি কোনো কিছু নিয়ে কাজ করে নতুন কিছু বানাতে চাও

📦 ধরো একটা বাক্স (object) আছে, তুমি ওটা খুলে কিছু বের করবা (নতুন ফলাফল পাবে)।

🧒🏻 তুমি বলতেছো: "এই নামটা যদি থাকে আমি এই নামটা নিয়ে একটু কাজ করি, তারপর একটা ফল (length) নিয়ে বের হই।"

val name: String? = "Rakibul"

val length = name?.let {
    println("Name is $it")   // it = "Rakibul"
    it.length                // নতুন কিছু রিটার্ন করলাম: length
}
Enter fullscreen mode Exit fullscreen mode

২. apply – যখন তুমি একটা জিনিসকে সাজাও (configure করো)

🎨 ধরো তুমি একটা পুতুল বানাইছো, এখন তুমি তার জামা, চুল, জুতা পরাও।

🧒🏻 তুমি বলতেছো: "এই পুতুলটা আমার, আমি ওর জামা-জুতা পরিয়ে সাজিয়ে রাখি। আমি কিছু বদলাই, কিন্তু ওটাই থাকুক।"

val person = Person().apply {
    name = "Rakibul"
    age = 25
}
Enter fullscreen mode Exit fullscreen mode

৩. also – যখন তুমি কিছু বলছো বা দেখতেছো, কিন্তু কিছুই বদলাও না

👀 ধরো তুমি একটা খেলনা দেখছো, শুধু "আচ্ছা, এটা এই রকম" বলছো — কিছুই করছো না।

🧒🏻 তুমি বলতেছো: "এই নামটা আছে, আমি দেখে একটু বলে দিলাম। কিন্তু কিছুই বদলাই নাই।"

val name = "Rakibul".also {
    println("Name is: $it")  // শুধু দেখে বললাম
}
Enter fullscreen mode Exit fullscreen mode

৪. run – তুমি কোনো কাজ করবা এবং তার ফল চাও

তুমি বলতেছো, "এই জিনিসটা নিয়ে একটা কাজ শেষ করি, তারপর একটা রেজাল্ট নেই।"

🧒🏻 তুমি বলতেছো: "এই নামটা নিয়ে আমি একটু কাজ করি, তারপর এর length নিয়ে আসি।"

val length = "Rakibul".run {
    println("Running with $this")
    length
}
Enter fullscreen mode Exit fullscreen mode

যদি তুমি Rakibul নামটা একটা খেলনা ভাবো, তাহলে:

  • let = খেলনা খুলে দেখি ভেতরে কী আছে।

  • apply = খেলনাটাকে সাজাই।

  • also = খেলনাটাকে দেখি আর বলি, “আহা, দারুণ!”

  • run = খেলনাটা দিয়ে একটা খেলা খেলি, তারপর রেজাল্ট নিই।

Image description

Top comments (0)