"রিফাইড"৷ একটি বিশেষ ধরনের কীওয়ার্ড যা কোটলিন ডেভেলপারদের রানটাইমে ক্লাস সম্পর্কিত তথ্য অ্যাক্সেস করতে সাহায্য করে। "রিফাইড"৷ শুধুমাত্র ইনলাইন এর সাথে ব্যবহার করা যেতে পারে ফাংশন যখন "পুনঃকৃত" কীওয়ার্ড ব্যবহার করা হয়, কম্পাইলার ফাংশনের বাইটকোড কোডের প্রতিটি বিভাগে অনুলিপি করে যেখানে ফাংশনটি কল করা হয়েছে। এইভাবে, জেনেরিক টাইপ টি একটি আর্গুমেন্ট হিসাবে যে মানটি পায় তার জন্য নির্ধারিত হবে৷
উদাহরণ
এই উদাহরণে, আমরা দেখব কিভাবে "রিফাইড" আমাদের কোড পুনঃব্যবহার করতে এবং একই ফাংশন ব্যবহার করে একই ধরণের অপারেশন করার জন্য এটির পাসিং আর্গুমেন্ট নির্বিশেষে সহায়ক৷
এই উদাহরণের জন্য, আমরা একটি ইনলাইন ফাংশন তৈরি করেছি এবং আমরা একটি জেনেরিক "রিফাইড" পাস করছি যুক্তি T এবং main() থেকে কোটলিনের, আমরা কল করছি myExample() বিভিন্ন যুক্তি সহ একাধিক বার৷
// Declaring Inline function inline fun <reified T> myExample(name: T) { println("\nName of your website -> "+name) println("\nType of myClass: ${T::class.java}") } fun main() { // calling func() with String myExample<String>("www.tutorialspoint.com") // calling func() with Int value myExample<Int>(100) // calling func() with Long value myExample<Long>(1L) }
আউটপুট
এটি নিম্নলিখিত আউটপুট −
তৈরি করবেName of your website -> www.tutorialspoint.com Type of myClass: class java.lang.String Name of your website -> 100 Type of myClass: class java.lang.Integer Name of your website -> 1 Type of myClass: class java.lang.Long