Standard Library Functions (let, apply, run, with, also)

Kotlin Extensions এবং Standard Library - কটলিন (Kotlin) - Mobile App Development

396

Standard Library Functions: let, apply, run, with, also

কটলিনের স্ট্যান্ডার্ড লাইব্রেরিতে কিছু গুরুত্বপূর্ণ এক্সটেনশন ফাংশন রয়েছে, যা অবজেক্টগুলোর সাথে কাজ করার সময় কোডকে আরও সংক্ষিপ্ত, রিডেবল এবং কার্যকর করে। এই ফাংশনগুলো হলো: let, apply, run, with, এবং also। নিচে এই ফাংশনগুলো নিয়ে বিস্তারিত আলোচনা করা হলো:


১. let

let একটি উচ্চ-স্তরের ফাংশন যা একটি অবজেক্টকে প্যারামিটার হিসেবে গ্রহণ করে এবং একটি ব্লক হিসেবে কোড এক্সিকিউট করে। এটি সাধারণত null সেফটি নিশ্চিত করতে ব্যবহৃত হয়।

ব্যবহার:

fun main() {
    val name: String? = "Alice"

    name?.let {
        println("Name is $it") // আউটপুট: Name is Alice
    }
}

ব্যাখ্যা:

  • এখানে let ব্লকটি name null না হলে এক্সিকিউট হবে। $it ব্যবহার করে name ভ্যারিয়েবলের মান অ্যাক্সেস করা হয়েছে।

২. apply

apply ফাংশন একটি অবজেক্টকে প্যারামিটার হিসেবে গ্রহণ করে এবং একটি ব্লকে অবজেক্টের প্রপার্টি সেট করতে সাহায্য করে। এটি অবজেক্ট রিটার্ন করে, তাই এটি চেইনিংয়ের জন্য উপকারী।

ব্যবহার:

data class Person(var name: String = "", var age: Int = 0)

fun main() {
    val person = Person().apply {
        name = "Bob"
        age = 25
    }

    println(person) // আউটপুট: Person(name=Bob, age=25)
}

ব্যাখ্যা:

  • এখানে apply ব্যবহার করে Person অবজেক্ট তৈরি করা হয়েছে এবং একই সাথে name এবং age প্রপার্টি সেট করা হয়েছে।

৩. run

run ফাংশন একটি অবজেক্টকে প্যারামিটার হিসেবে গ্রহণ করে এবং একটি ব্লক হিসেবে কোড এক্সিকিউট করে। এটি ব্লকের শেষে একটি মান রিটার্ন করে, যা সাধারণত প্রোপার্টি সেট করার জন্য ব্যবহৃত হয়।

ব্যবহার:

fun main() {
    val result = "Hello".run {
        this.length // আউটপুট: 5
    }

    println(result) // আউটপুট: 5
}

ব্যাখ্যা:

  • এখানে run ব্যবহার করে "Hello" স্ট্রিংটির দৈর্ঘ্য রিটার্ন করা হয়েছে।

৪. with

with ফাংশন একটি অবজেক্টকে প্যারামিটার হিসেবে গ্রহণ করে এবং একটি ব্লকে কোড এক্সিকিউট করে। এটি বিশেষভাবে যখন আপনি একটি অবজেক্টের প্রপার্টি বা মেথডের উপর একাধিক অপারেশন করতে চান তখন ব্যবহার করা হয়।

ব্যবহার:

data class Car(var model: String, var year: Int)

fun main() {
    val car = Car("Toyota", 2020)

    with(car) {
        println("Model: $model")
        println("Year: $year")
    }
}

ব্যাখ্যা:

  • এখানে with ব্যবহার করে car অবজেক্টের model এবং year প্রোপার্টি একসাথে এক্সেস করা হয়েছে।

৫. also

also একটি উচ্চ-স্তরের ফাংশন যা একটি অবজেক্টকে প্যারামিটার হিসেবে গ্রহণ করে এবং একটি ব্লক হিসেবে কোড এক্সিকিউট করে। এটি মূলত অবজেক্টটি পরিবর্তন না করেই কিছু অতিরিক্ত কাজ করার জন্য ব্যবহৃত হয়। এটি অবজেক্টটি রিটার্ন করে।

ব্যবহার:

fun main() {
    val numbers = mutableListOf(1, 2, 3)

    numbers.also {
        println("Original list: $it") // আউটপুট: Original list: [1, 2, 3]
    }.add(4)

    println(numbers) // আউটপুট: [1, 2, 3, 4]
}

ব্যাখ্যা:

  • এখানে also ব্যবহার করে numbers লিস্টের মূল মান প্রিন্ট করা হয়েছে এবং তারপর নতুন আইটেম যোগ করা হয়েছে।

সারাংশ

কটলিনের স্ট্যান্ডার্ড লাইব্রেরির let, apply, run, with, এবং also ফাংশনগুলো ব্যবহার করে আপনি কোডের রিডেবিলিটি এবং কার্যকারিতা বাড়াতে পারেন। এগুলো অবজেক্টগুলির সাথে কাজ করার সময় কোডকে আরো সংক্ষিপ্ত ও পরিষ্কার করে তোলে, এবং কাজের প্রক্রিয়াকে আরও সহজ করে।

Content added By
Promotion

Are you sure to start over?

Loading...