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

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع reflect()‎ في لغة Kotlin}}</noinclude> يعين التابع <code>reflect()‎</code> قيمة العنصر في المص...'
 
طلا ملخص تعديل
 
(3 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: التابع reflect()‎ في لغة Kotlin}}</noinclude>
<noinclude>{{DISPLAYTITLE:الدالة <code>reflect()‎</code> في Kotlin}}</noinclude>
يعين التابع <code>reflect()‎</code> قيمة العنصر في المصفوفة عند الفهرس (index) المُحدَّد، ويمكن أيضًا استدعاء هذا التابع باستخدام معامل الفهرسة (index operator) المتمثل بالقوسين <code>[]</code> بالشكل:<syntaxhighlight lang="kotlin">
الدالة <code>reflect()‎</code> هي واجهة برمجية (API) تجريبية؛ إن استدعيت مع تعبير تعريف دالة (function expression) أو [[Kotlin/lambdas#.D8.AA.D8.B9.D8.A7.D8.A8.D9.8A.D8.B1 Lambda .D9.88.D8.A7.D9.84.D8.AF.D9.88.D8.A7.D9.84 .D8.A7.D9.84.D9.85.D8.AC.D9.87.D9.88.D9.84.D8.A9 .28Anonymous Functions.29|تعبير lambda]]، فستعيد نسخةً من <code>[[Kotlin/KFunction|KFunction]]</code> تزودنا بالإمكانيات الداخلية (introspection capabilities) لتعبير تعريف الدالة أو [[Kotlin/lambdas#.D8.AA.D8.B9.D8.A7.D8.A8.D9.8A.D8.B1 Lambda .D9.88.D8.A7.D9.84.D8.AF.D9.88.D8.A7.D9.84 .D8.A7.D9.84.D9.85.D8.AC.D9.87.D9.88.D9.84.D8.A9 .28Anonymous Functions.29|تعبير lambda]] ذاك المعطى وعن معاملاته. ليست جميع الميزات مدعومةً في الوقت الحالي، تحديدًا <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>منصة التشغيل المطلوبة: '''JVM'''.


== أمثلة ==
== انظر أيضًا ==
* الواجهة <code>[[Kotlin/Function|Function]]</code>.


=== استخدام التابع <code>set()‎</code> على مصفوفة أعداد صحيحة ===
* [[Kotlin/lambdas|الدوال من المرتبة الأعلى (Higher-Order Functions) و تعابير Lambdas]].
تُنشِئ الشيفرة الآتية مصفوفةً من ستة أعدادٍ بالاعتماد على الدالة <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>
 
== انظر أيضًا ==
* الخاصيّة <code>[[Kotlin/FloatArray/size|FloatArray.size]]</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 Function]]
[[تصنيف:Kotlin Reflect]]
[[تصنيف:Kotlin JVM]]

المراجعة الحالية بتاريخ 11:35، 9 سبتمبر 2018

الدالة reflect()‎ هي واجهة برمجية (API) تجريبية؛ إن استدعيت مع تعبير تعريف دالة (function expression) أو تعبير lambda، فستعيد نسخةً من KFunction تزودنا بالإمكانيات الداخلية (introspection capabilities) لتعبير تعريف الدالة أو تعبير lambda ذاك المعطى وعن معاملاته. ليست جميع الميزات مدعومةً في الوقت الحالي، تحديدًا KCallable.call و KCallable.callBy.

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

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

منصة التشغيل المطلوبة: JVM.

انظر أيضًا

مصادر