الفرق بين المراجعتين لصفحة: «Kotlin/reflect/reflect»
< Kotlin
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع reflect() في لغة Kotlin}}</noinclude> يعين التابع <code>reflect()</code> قيمة العنصر في المص...' |
لا ملخص تعديل |
||
سطر 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> . | |||
</ | |||
== البنية العامة == | == البنية العامة == | ||
<syntaxhighlight lang="kotlin"> | <syntaxhighlight lang="kotlin"> | ||
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
: تعبِّر عن عدد العناصر الموجودة في المصفوفة.