الفرق بين المراجعتين لصفحة: «Kotlin/reflect/reflect»

من موسوعة حسوب
لا ملخص تعديل
لا ملخص تعديل
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: التابع reflect()‎ في لغة Kotlin}}</noinclude>
<noinclude>{{DISPLAYTITLE: التابع reflect()‎ في لغة Kotlin}}</noinclude>
الدالة  <code>reflect()‎</code>  هي واجهة برمجية (API) تجريبية، حيث تُعطى دالة أو تعبير لامبدا ( lambda expression)، وتعيد نسخة من النوع <code>KFunction</code> توفر معلومات داخلية عن تلك الدالة أو تعبير لامبدا الممرّر وعن وسائطه(parameters). في الوقت الحالي لا تٌدعم كل الميزات، بالخصوص <code>KCallable.call</code> و <code>KCallable.callBy</code> .
الدالة  <code>reflect()‎</code>  هي واجهة برمجية (API) تجريبية، حيث تُعطى دالة أو تعبير لامبدا ( lambda expression)، وتعيد نسخة من النوع <code>KFunction</code> توفر معلومات داخلية عن تلك الدالة أو تعبير لامبدا الممرّر وعن الوسائط(parameters). في الوقت الحالي لا تٌدعم كل الميزات، بالخصوص <code>KCallable.call</code> و <code>KCallable.callBy</code> .
== البنية العامة ==
== البنية العامة ==
<syntaxhighlight lang="kotlin">
<syntaxhighlight lang="kotlin">
fun <R> Function<R>.reflect(): KFunction<R>?
fun <R> Function<R>.reflect(): KFunction<R>?


</syntaxhighlight>ويُلاحظ وجود الكلمة المفتاحية <code>operator</code> للدلالة على أنّ هذا التابع مرتبط بمعامل الفهرسة المذكور سابقًا.
== أمثلة ==
=== استخدام التابع <code>set()‎</code> على مصفوفة أعداد صحيحة ===
تُنشِئ الشيفرة الآتية مصفوفةً من ستة أعدادٍ بالاعتماد على الدالة <code>FloatArray</code>، ثم تعيّن عنصرين من المصفوفة بطريقتين: الأولى باستدعاء التابع <code>set()</code>‎ مباشرةً، والثانية باستخدام معامل الفهرسة (القوسين بالشكل <code>[index]</code>):<syntaxhighlight lang="kotlin">
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]
}
</syntaxhighlight>
</syntaxhighlight>
== انظر أيضًا ==
== انظر أيضًا ==
* الخاصيّة <code>[[Kotlin/FloatArray/size|FloatArray.size]]</code>: تعبِّر عن عدد العناصر الموجودة في المصفوفة.
* <code>[[Kotlin/Function|Function()‎]]</code>: تعيد نوع الدالة.


== مصادر ==
== مصادر ==
* [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float-array/set.html التابع reflect في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
* [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect.jvm/reflect.html التابع reflect في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Method]]
[[تصنيف:Kotlin Method]]

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

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

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

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

انظر أيضًا

مصادر