الفرق بين المراجعتين لصفحة: «Kotlin/Function»
< Kotlin
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) لا ملخص تعديل |
||
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:الصنف <code>Function</code> في Kotlin}}</noinclude> | تمثل الواجهة <code>Function</code> قيمةً لنوع وظيفي (functional type) -مثل [[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]]-، أو [[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|دالة مجهولة]]، أو مرجع دالة.<syntaxhighlight lang="kotlin"> | ||
=== <code>[[Kotlin/Any/equals|equals]]</code> | interface Function<out R> | ||
=== <code>[[Kotlin/Any/hashCode|hashCode]]</code> === | </syntaxhighlight>إذ يعيد المعامل <code>R</code> نوع الدالة.<noinclude>{{DISPLAYTITLE:الصنف <code>Function</code> في Kotlin}}</noinclude> | ||
=== <code>[[Kotlin/Any/toString|toString]]</code> === | ==الدوال الموروثة== | ||
<code>[[Kotlin/Any/equals|equals]]</code> | |||
تتحقق الدالة <code>equals()</code> إذا ما كان الكائن المُمرّر إليها يساوي الكائن الذي استدعيت معه. وأيُّ تعريف لاستخدام هذه الدالة يجب أن يكون: | |||
===<code>[[Kotlin/Any/hashCode|hashCode]]</code>=== | |||
تعيد الدالة <code>hashCode()</code> الشيفرة Hash الخاصّة بالكائن الذي استُدعي معها. تُحقِّق هذه الدالة الشرطين الآتيين دائمًا: | |||
===<code>[[Kotlin/Any/toString|toString]]</code>=== | |||
تحول الدالة <code>toString()</code> الكائن الذي يُستدعى معه إلى سلسلة نصية (String). | |||
== الدوال الإضافية (Extension Functions) == | |||
=== <code>[[Kotlin/reflect/reflect|reflect]]</code> === | === <code>[[Kotlin/reflect/reflect|reflect]]</code> === | ||
الدالة <code>reflect()</code> هي واجهة برمجية (API) تجريبية؛ إن استدعيت مع تعبير تعريف دالة (function expression) أو <nowiki/>[[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>KFunction</code> تزودنا بالإمكانيات الداخلية (introspection capabilities) لتعبير تعريف الدالة أو <nowiki/>[[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]] ذاك المعطى وعن معاملاته. | |||
== الوارثات (Inheritors) == | |||
=== <code>[[Kotlin/reflect/KFunction|KFunction]]</code> === | |||
== مصادر == | |||
* [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-function.html صفحة الواجهة Function في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | |||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin | [[تصنيف:Kotlin Interface]] | ||
[[تصنيف:Kotlin Function]] | [[تصنيف:Kotlin Function]] |
المراجعة الحالية بتاريخ 11:38، 9 سبتمبر 2018
تمثل الواجهة Function
قيمةً لنوع وظيفي (functional type) -مثل تعبير lambda-، أو دالة مجهولة، أو مرجع دالة.
interface Function<out R>
إذ يعيد المعامل R
نوع الدالة.
الدوال الموروثة
تتحقق الدالة equals()
إذا ما كان الكائن المُمرّر إليها يساوي الكائن الذي استدعيت معه. وأيُّ تعريف لاستخدام هذه الدالة يجب أن يكون:
hashCode
تعيد الدالة hashCode()
الشيفرة Hash الخاصّة بالكائن الذي استُدعي معها. تُحقِّق هذه الدالة الشرطين الآتيين دائمًا:
toString
تحول الدالة toString()
الكائن الذي يُستدعى معه إلى سلسلة نصية (String).
الدوال الإضافية (Extension Functions)
reflect
الدالة reflect()
هي واجهة برمجية (API) تجريبية؛ إن استدعيت مع تعبير تعريف دالة (function expression) أو تعبير lambda، فستعيد نسخةً من KFunction
تزودنا بالإمكانيات الداخلية (introspection capabilities) لتعبير تعريف الدالة أو تعبير lambda ذاك المعطى وعن معاملاته.