الفرق بين المراجعتين ل"Kotlin/reflect/reflect"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع reflect()‎ في لغة Kotlin}}</noinclude> يعين التابع <code>reflect()‎</code> قيمة العنصر في المص...')
 
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE: التابع reflect()‎ في لغة Kotlin}}</noinclude>
 
<noinclude>{{DISPLAYTITLE: التابع reflect()‎ في لغة Kotlin}}</noinclude>
يعين التابع <code>reflect()‎</code> قيمة العنصر في المصفوفة عند الفهرس (index) المُحدَّد، ويمكن أيضًا استدعاء هذا التابع باستخدام معامل الفهرسة (index operator) المتمثل بالقوسين <code>[]</code> بالشكل:<syntaxhighlight lang="kotlin">
+
الدالة  <code>reflect()‎</code> هي واجهة برمجية (API) تجريبية، حيث تُعطى دالة أو تعبير لامبدا ( lambda expression)، وتعيد نسخة من النوع <code>KFunction</code> توفر معلومات داخلية عن تلك الدالة أو تعبير لامبدا الممرّر وعن وسائطه(parameters). في الوقت الحالي لا تٌدعم كل الميزات، بالخصوص <code>KCallable.call</code> و <code>KCallable.callBy</code> .
arr[index]‎ = value
 
</syntaxhighlight>
 
 
 
 
== البنية العامة ==
 
== البنية العامة ==
 
<syntaxhighlight lang="kotlin">
 
<syntaxhighlight lang="kotlin">
operator fun set(index: Int, value: Float)
+
fun <R> Function<R>.reflect(): KFunction<R>?
  
 
</syntaxhighlight>ويُلاحظ وجود الكلمة المفتاحية <code>operator</code> للدلالة على أنّ هذا التابع مرتبط بمعامل الفهرسة المذكور سابقًا.
 
</syntaxhighlight>ويُلاحظ وجود الكلمة المفتاحية <code>operator</code> للدلالة على أنّ هذا التابع مرتبط بمعامل الفهرسة المذكور سابقًا.

مراجعة 12:36، 4 يوليو 2018

الدالة 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: تعبِّر عن عدد العناصر الموجودة في المصفوفة.

مصادر