Scope Functions এবং তাদের ব্যবহার

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

326

Scope Functions এবং তাদের ব্যবহার

কটলিনে Scope Functions হলো একটি শক্তিশালী ফিচার যা একটি অবজেক্টের সাথে কাজ করার জন্য বিভিন্ন ব্লক ব্যবহারের অনুমতি দেয়। Scope Functions যেমন let, run, with, apply, এবং also একসাথে কোড লেখার সময় কার্যকারিতা এবং রিডেবিলিটি বাড়ায়। নিচে এই Scope Functions এবং তাদের ব্যবহার নিয়ে বিস্তারিত আলোচনা করা হলো:


১. let

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

উদাহরণ:

val name: String? = "Kotlin"
name?.let {
    println("The length of the string is ${it.length}")
}
// আউটপুট: The length of the string is 6

ব্যাখ্যা:

  • let ফাংশন ব্যবহার করে name নাল না হলে it.length রিটার্ন করা হচ্ছে।

২. run

run ফাংশন একটি অবজেক্টের উপর কাজ করার জন্য একটি লাম্বডা এক্সপ্রেশন গ্রহণ করে এবং ফলস্বরূপ অবজেক্টটির রিটার্ন ভ্যালু প্রদান করে। এটি অবজেক্টটির প্রপার্টিগুলিতে অ্যাক্সেসের জন্য সুবিধাজনক।

উদাহরণ:

data class User(var name: String, var age: Int)

fun main() {
    val user = User("Alice", 25)
    val result = user.run {
        age += 1 // age incrementing
        "User name is $name and age is $age"
    }
    println(result) // আউটপুট: User name is Alice and age is 26
}

ব্যাখ্যা:

  • এখানে run ফাংশন ব্যবহার করে user অবজেক্টের প্রপার্টি পরিবর্তন এবং রিটার্ন ভ্যালু পেয়েছি।

৩. with

with ফাংশন একটি অবজেক্টকে প্রপার্টি এবং মেথডগুলির উপর কাজ করার জন্য সুবিধা দেয়। এটি একটি অবজেক্টকে প্রথম প্যারামিটার হিসেবে গ্রহণ করে এবং দ্বিতীয় প্যারামিটার লাম্বডা হিসেবে কাজ করে।

উদাহরণ:

val user = User("Bob", 30)

val description = with(user) {
    "Name: $name, Age: $age"
}

println(description) // আউটপুট: Name: Bob, Age: 30

ব্যাখ্যা:

  • এখানে with ফাংশন ব্যবহার করে user অবজেক্টের প্রপার্টিতে সরাসরি অ্যাক্সেস করা হয়েছে।

৪. apply

apply ফাংশন একটি অবজেক্টের জন্য সেটআপ করার সময় ব্যবহৃত হয়। এটি অবজেক্টকে একটি লাম্বডা এক্সপ্রেশন হিসেবে গ্রহণ করে এবং অবজেক্টকে রিটার্ন করে। এটি সাধারণত অবজেক্ট ইনিশিয়ালাইজেশনের জন্য ব্যবহৃত হয়।

উদাহরণ:

val user = User("Charlie", 20).apply {
    age += 1 // age incrementing
}

println(user) // আউটপুট: User(name=Charlie, age=21)

ব্যাখ্যা:

  • এখানে apply ফাংশন ব্যবহার করে user অবজেক্টের age প্রপার্টি পরিবর্তন করা হয়েছে এবং পুরো অবজেক্ট রিটার্ন করা হয়েছে।

৫. also

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

উদাহরণ:

val number = 10
number.also {
    println("The number is: $it")
}.let {
    println("Double of number is: ${it * 2}")
}
// আউটপুট:
// The number is: 10
// Double of number is: 20

ব্যাখ্যা:

  • এখানে also ফাংশন ব্যবহার করে number ভ্যারিয়েবলের মান লগ করা হয়েছে এবং পরে let এর মাধ্যমে দ্বিগুণ মান রিটার্ন করা হয়েছে।

উপসংহার

কটলিনের Scope Functions (যেমন let, run, with, apply, এবং also) কোড লেখার সময় কার্যকারিতা এবং রিডেবিলিটি বাড়াতে সাহায্য করে। এগুলো অবজেক্টের প্রপার্টিতে সহজে অ্যাক্সেস করতে এবং অপারেশন সম্পাদন করতে সহায়ক। আপনি যখন এগুলো ব্যবহার করবেন, তখন আপনার কোড আরও পরিষ্কার এবং রক্ষণাবেক্ষণযোগ্য হবে।

Content added By
Promotion

Are you sure to start over?

Loading...