التابع reflect()‎ في لغة Kotlin

من موسوعة حسوب

الدالة reflect()‎ هي واجهة برمجية (API) تجريبية، حيث تُعطى دالة أو تعبير لامبدا ( lambda expression)، وتعيد نسخة من النوع KFunction توفر معلومات داخلية عن تلك الدالة أو تعبير لامبدا الممرّر وعن وسائطه(parameters). في الوقت الحالي لا تٌدعم كل الميزات، بالخصوص KCallable.call و KCallable.callBy .

البنية العامة

fun <R> Function<R>.reflect(): KFunction<R>?

ويُلاحظ وجود الكلمة المفتاحية operator للدلالة على أنّ هذا التابع مرتبط بمعامل الفهرسة المذكور سابقًا.

أمثلة

استخدام التابع set()‎ على مصفوفة أعداد صحيحة

تُنشِئ الشيفرة الآتية مصفوفةً من ستة أعدادٍ بالاعتماد على الدالة FloatArray، ثم تعيّن عنصرين من المصفوفة بطريقتين: الأولى باستدعاء التابع set()‎ مباشرةً، والثانية باستخدام معامل الفهرسة (القوسين بالشكل [index]):

import java.util.Arrays

fun main(args: Array<String>) {
val f: (Int) -> Float = { x -> x*4f }
val array = FloatArray(6, f)
    
array.set(2,5.34f)
array[1] = 98.5f
    
println(Arrays.toString(array)) // [0.0, 98.5, 5.34, 12.0, 16.0, 20.0]
}

انظر أيضًا

  • الخاصيّة FloatArray.size: تعبِّر عن عدد العناصر الموجودة في المصفوفة.

مصادر