الفرق بين المراجعتين ل"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>?

انظر أيضًا

مصادر