الفرق بين المراجعتين ل"Kotlin/Function"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
 
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة)
سطر 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 Classes]]
+
[[تصنيف:Kotlin Interface]]
 
[[تصنيف:Kotlin Function]]
 
[[تصنيف:Kotlin Function]]

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

تمثل الواجهة Function قيمةً لنوع وظيفي (functional type) -مثل تعبير lambda-، أو دالة مجهولة، أو مرجع دالة.

interface Function<out R>

إذ يعيد المعامل R نوع الدالة.

الدوال الموروثة

equals

تتحقق الدالة equals()‎ إذا ما كان الكائن المُمرّر إليها يساوي الكائن الذي استدعيت معه. وأيُّ تعريف لاستخدام هذه الدالة يجب أن يكون:


hashCode

تعيد الدالة hashCode()‎ الشيفرة Hash الخاصّة بالكائن الذي استُدعي معها. تُحقِّق هذه الدالة الشرطين الآتيين دائمًا:


toString

تحول الدالة toString()‎ الكائن الذي يُستدعى معه إلى سلسلة نصية (String).

الدوال الإضافية (Extension Functions)

reflect

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

الوارثات (Inheritors)

KFunction

مصادر