কম্পিউটার টিউটোরিয়াল

কোটলিনে reified কীওয়ার্ড কীভাবে কাজ করে

ওভারভিউ

"reified" হলো একটি বিশেষ ধরনের কীওয়ার্ড যা কোটলিন ডেভেলপারদের রানটাইমে ক্লাস সংক্রান্ত তথ্য অ্যাক্সেস করতে সাহায্য করে। "reified" শুধুমাত্র inline ফাংশনগুলির সাথে ব্যবহার করা যেতে পারে। "reified" কীওয়ার্ড ব্যবহার করা হলে, কম্পাইলার ফাংশনের বাইটকোডটি কোডের בכל সেকশনে কপি করে যেখানে ফাংশনটি কল করা হয়েছে। এইভাবে, জেনেরিক টাইপ T আর্গুমেন্ট হিসেবে যা মান পায় তার টাইপে অ্যাসাইন করা হয়।

উদাহরণ

এই উদাহরণে, আমরা দেখব "reified" কীভাবে আমাদের কোড পুনঃব্যবহার করতে সাহায্য করে এবং একই ফাংশন ব্যবহার করে তার আর্গুমেন্ট নির্বিশেষে একই ধরনের অপারেশন করা যায়।

এই উদাহরণের জন্য, আমরা একটি ইনলাইন ফাংশন তৈরি করেছি এবং একটি জেনেরিক "reified" আর্গুমেন্ট T পাস করছি এবং কোটলিনের main()- থেকে ভিন্ন আর্গুমেন্ট সহ myExample() একাধিকবার কল করছি।

// ইনলাইন ফাংশন ঘোষণা
inline fun <reified T> myExample(name: T) {
    println("\nআপনার ওয়েবসাইটের নাম -> " + name)
    println("\nmyClass-এর টাইপ: ${T::class.java}")
}

fun main() {
    // String সহ func() কল
    myExample<String>("www.tutorialspoint.com")
    // Int মান সহ func() কল
    myExample<Int>(100)
    // Long মান সহ func() কল
    myExample<Long>(1L)
}

আউটপুট

আপনার ওয়েবসাইটের নাম -> www.tutorialspoint.com
myClass-এর টাইপ: class java.lang.String
আপনার ওয়েবসাইটের নাম -> 100
myClass-এর টাইপ: class java.lang.Integer
আপনার ওয়েবসাইটের নাম -> 1
myClass-এর টাইপ: class java.lang.Long
  1. ওয়ার্ল্ডকয়েন কী? এটি কীভাবে কাজ করে?

  2. ওয়াইফাই মেশ নেটওয়ার্ক কী, এর কাজ কী এবং এই টাইপের নেটওয়ার্ক কীভাবে কাজ করে?

  3. YouTube-এর রিকমেন্ডেশন ইঞ্জিন: অ্যালগরিদম কীভাবে ভিডিও সিলেক্ট করে

  4. Windows, Mac, Android, এবং iOS-এ ‘Not Equal’ (≠) সিম্বল টাইপ করার পদ্ধতি