«Kotlin/keyword reference»: الفرق بين المراجعتين

من موسوعة حسوب
اذهب إلى: تصفح، ابحث
(تعديل مصطلح خاطئ)
ط (تعديل مصطلح متحول)
 
سطر 19: سطر 19:
 
**يُستخدَم كمعاملٍ ضمنيّ (infix) للتحقُّق من انتماء القيمة إلى [[Kotlin/ranges|مجالٍ (range)]] أو مجموعةٍ (collection) أو [[Kotlin/operator overloading|أيّ كيانٍ (entity) يُعرِّف التابع <code>contains</code>]]
 
**يُستخدَم كمعاملٍ ضمنيّ (infix) للتحقُّق من انتماء القيمة إلى [[Kotlin/ranges|مجالٍ (range)]] أو مجموعةٍ (collection) أو [[Kotlin/operator overloading|أيّ كيانٍ (entity) يُعرِّف التابع <code>contains</code>]]
 
**يُستخدَم في [[Kotlin/control flow|تعبير <code>when</code>]] ولنفس الهدف السابق
 
**يُستخدَم في [[Kotlin/control flow|تعبير <code>when</code>]] ولنفس الهدف السابق
**يجعل متحوّل النوع [[Kotlin/generics|contravariant]]
+
**يجعل معامل النوع [[Kotlin/generics|contravariant]]
 
**
 
**
  
سطر 46: سطر 46:
 
*<code>try</code>  لبدء [[Kotlin/extensions|قسم التعامل مع الاستثناء (exception)]]
 
*<code>try</code>  لبدء [[Kotlin/extensions|قسم التعامل مع الاستثناء (exception)]]
 
*<code>typealias</code> للتصريح عن [[Kotlin/type aliases|التسمية البديلة (alias) للأنواع]]
 
*<code>typealias</code> للتصريح عن [[Kotlin/type aliases|التسمية البديلة (alias) للأنواع]]
*<code>val</code> للتصريح عن [[Kotlin/properties|خاصّيّةٍ للقراءة فقط (read-only)]] أو [[Kotlin/basic syntax|متحوّلٍ محليّ (local variable)]]
+
*<code>val</code> للتصريح عن [[Kotlin/properties|خاصّيّةٍ للقراءة فقط (read-only)]] أو [[Kotlin/basic syntax|متغيِّرٍ محليّ (local variable)]]
*<code>var</code> للتصريح عن [[Kotlin/properties|خاصّيّة متغيّرةٍ (mutable)]] أو [[Kotlin/basic syntax|متحوّلٍ محليّ (local variable)]]
+
*<code>var</code> للتصريح عن [[Kotlin/properties|خاصّيّة متغيّرةٍ (mutable)]] أو [[Kotlin/basic syntax|متغيِّرٍ محليّ (local variable)]]
 
*<code>when</code> للبدء [[Kotlin/control flow|بتعبير <code>when</code>]] (لتنفيذ إحدى الحالات الفرعيّة الواردة)
 
*<code>when</code> للبدء [[Kotlin/control flow|بتعبير <code>when</code>]] (لتنفيذ إحدى الحالات الفرعيّة الواردة)
 
*<code>while</code> للبدء [[Kotlin/control flow|بحلقة <code>while</code>]] (التي تختبِر الشرط أولًا)
 
*<code>while</code> للبدء [[Kotlin/control flow|بحلقة <code>while</code>]] (التي تختبِر الشرط أولًا)
سطر 74: سطر 74:
 
**تُستخدَم [[Kotlin/annotations|كتوصيفٍ (annotation) لهدف موقع الاستخدام (use-site target)]]
 
**تُستخدَم [[Kotlin/annotations|كتوصيفٍ (annotation) لهدف موقع الاستخدام (use-site target)]]
 
*<code>setparam</code>تُستخدَم [[Kotlin/annotations|كتوصيفٍ (annotation) لهدف موقع الاستخدام (use-site target)]]
 
*<code>setparam</code>تُستخدَم [[Kotlin/annotations|كتوصيفٍ (annotation) لهدف موقع الاستخدام (use-site target)]]
*<code>where</code> لتحديد [[Kotlin/generics|القيود (constraints) لمتحوِّل النوع المُعمَّم]]
+
*<code>where</code> لتحديد [[Kotlin/generics|القيود (constraints) لمعامل النوع المُعمَّم]]
 
==المُحدِّدات (Modifier Keywords)==
 
==المُحدِّدات (Modifier Keywords)==
 
قد تُستخدَم الكلمات الآتية كمُحدِّداتٍ (modifiers) في التصريحات، أو كمُعرِّفاتٍ (identifiers) في أيّ سياقٍ آخر:
 
قد تُستخدَم الكلمات الآتية كمُحدِّداتٍ (modifiers) في التصريحات، أو كمُعرِّفاتٍ (identifiers) في أيّ سياقٍ آخر:
سطر 96: سطر 96:
 
*<code>open</code> للسماح بإنشاء [[Kotlin/classes|أصناف فرعيّة (subclasses) من الصنف أو إعادة تعريف (override) عنصرٍ منه]]
 
*<code>open</code> للسماح بإنشاء [[Kotlin/classes|أصناف فرعيّة (subclasses) من الصنف أو إعادة تعريف (override) عنصرٍ منه]]
 
*<code>operator</code> لتحديد الدالة [[Kotlin/operator overloading|كتحميلٍ زائدٍ (overloading) للمعامِل أو تعريف استخدام اصطلاحيّ]]
 
*<code>operator</code> لتحديد الدالة [[Kotlin/operator overloading|كتحميلٍ زائدٍ (overloading) للمعامِل أو تعريف استخدام اصطلاحيّ]]
*<code>out</code> لجعل متحوّل النوع [[Kotlin/generics|covariant]]
+
*<code>out</code> لجعل معامل النوع [[Kotlin/generics|covariant]]
 
*<code>override</code> لجعل العنصر [[Kotlin/classes|كإعادة تعريفٍ (overriding) لعنصرٍ من الصنف الأعلى (superclass)]]
 
*<code>override</code> لجعل العنصر [[Kotlin/classes|كإعادة تعريفٍ (overriding) لعنصرٍ من الصنف الأعلى (superclass)]]
 
*<code>private</code> لجعل التصريح [[Kotlin/visibility modifiers|مرئيًا في الصنف (class) الحاليّ أو الملف (file) فقط]]
 
*<code>private</code> لجعل التصريح [[Kotlin/visibility modifiers|مرئيًا في الصنف (class) الحاليّ أو الملف (file) فقط]]
 
*<code>protected</code> لجعل التصريح [[Kotlin/visibility modifiers|مرئيًا في الصنف (class) الحاليّ أو أصنافه الفرعيّة (subclasses)]]
 
*<code>protected</code> لجعل التصريح [[Kotlin/visibility modifiers|مرئيًا في الصنف (class) الحاليّ أو أصنافه الفرعيّة (subclasses)]]
 
*<code>public</code> لجعل التصريح [[Kotlin/visibility modifiers|مرئيًا في كلِّ مكان]]
 
*<code>public</code> لجعل التصريح [[Kotlin/visibility modifiers|مرئيًا في كلِّ مكان]]
*<code>reified</code> لجعل [[Kotlin/inline functions|متحوّل النوع للدالة المباشرة (inline function) متاحًا للوصول أثناء التنفيذ (runtime)]]
+
*<code>reified</code> لجعل [[Kotlin/inline functions|معامل النوع للدالة المباشرة (inline function) متاحًا للوصول أثناء التنفيذ (runtime)]]
 
*<code>sealed</code> للتصريح عن [[Kotlin/sealed classes|صنفٍ مغلقٍ ( sealed class) (محدود الأصناف الفرعيّة [subclasses])]]
 
*<code>sealed</code> للتصريح عن [[Kotlin/sealed classes|صنفٍ مغلقٍ ( sealed class) (محدود الأصناف الفرعيّة [subclasses])]]
 
*<code>suspend</code> تحديد الدالة (function) أو تعبير lambda [[Kotlin/coroutines|كنوع تأخيرٍ (قابلٍ للاستخدام كروتيناتٍ مساعدة [coroutines])]]
 
*<code>suspend</code> تحديد الدالة (function) أو تعبير lambda [[Kotlin/coroutines|كنوع تأخيرٍ (قابلٍ للاستخدام كروتيناتٍ مساعدة [coroutines])]]
 
*<code>tailrec</code> لجعل الدالة [[Kotlin/functions|تعاوديّةً (tail-recursive)]] (تسمح للمترجِم [compiler] باستخدام التكرار [iteration] بدلًا من التعاودية [recursion])
 
*<code>tailrec</code> لجعل الدالة [[Kotlin/functions|تعاوديّةً (tail-recursive)]] (تسمح للمترجِم [compiler] باستخدام التكرار [iteration] بدلًا من التعاودية [recursion])
*<code>vararg</code> للسماح [[Kotlin/functions|بتمرير عددٍ متغيّرٍ من المتحولات (arguments) للمتحول الوسيط (parameter)]]
+
*<code>vararg</code> للسماح [[Kotlin/functions|بتمرير عددٍ متغيّرٍ من الوسائط (arguments) للمعامل (parameter)]]
 
==المُعرِّفات الخاصّة (Special Identifiers)==
 
==المُعرِّفات الخاصّة (Special Identifiers)==
 
وهي مُعرَّفةٌ لدى المُترجِم (compiler) بسياقٍ معيّنٍ ويمكن استخدامها كمعرِّفات (identifiers) في سياقٍ آخر:
 
وهي مُعرَّفةٌ لدى المُترجِم (compiler) بسياقٍ معيّنٍ ويمكن استخدامها كمعرِّفات (identifiers) في سياقٍ آخر:
 
*<code>field</code> تُستخدَم داخل عمليات الوصول (accessors) إلى الخاصّيّة (property) للإشارة إلى [[Kotlin/properties|الحقل المساعد (backing field) للخاصّيّة]]
 
*<code>field</code> تُستخدَم داخل عمليات الوصول (accessors) إلى الخاصّيّة (property) للإشارة إلى [[Kotlin/properties|الحقل المساعد (backing field) للخاصّيّة]]
*<code>it</code>  تُستخدَم داخل [[Kotlin/lambdas|تعبير lambda للإشارة إلى متحولها الوحيد ضمنيًا (implicitly)]]
+
*<code>it</code>  تُستخدَم داخل [[Kotlin/lambdas|تعبير lambda للإشارة إلى معاملها الوحيد ضمنيًا (implicitly)]]
 
==المُعامِلات والرموز الخاصّة (Operators and Special Symbols)==
 
==المُعامِلات والرموز الخاصّة (Operators and Special Symbols)==
 
*<code>+</code> و <code>-</code> و <code>*</code> و <code>/</code> و <code>%</code> لتنفيذ العمليات الحسابيّة
 
*<code>+</code> و <code>-</code> و <code>*</code> و <code>/</code> و <code>%</code> لتنفيذ العمليات الحسابيّة
**<code>*</code> يُستخدَم أيضًا [[Kotlin/functions|لتمرير مصفوفةٍ (array) إلى متحولٍ وسيطٍ (parameter) متغيّرِ العدد]]
+
**<code>*</code> يُستخدَم أيضًا [[Kotlin/functions|لتمرير مصفوفةٍ (array) إلى معاملٍ (parameter) متغيّرِ العدد]]
 
*<code>=</code>
 
*<code>=</code>
 
**معامل الإسناد (assignment)
 
**معامل الإسناد (assignment)
**لتحديد [[Kotlin/functions|القيم الافتراضيّة للمتحولات الوسيطة (parameters)]]
+
**لتحديد [[Kotlin/functions|القيم الافتراضيّة للمعاملات (parameters)]]
 
*‎<code>+=‎</code> و ‎<code>-=</code>‎ و ‎<code>*=</code>‎ و ‎<code>/=</code>‎ و ‎<code>%=</code>‎ [[Kotlin/operator overloading|معامِلات الإسناد المُحسَّنة (augmented assignment)]]
 
*‎<code>+=‎</code> و ‎<code>-=</code>‎ و ‎<code>*=</code>‎ و ‎<code>/=</code>‎ و ‎<code>%=</code>‎ [[Kotlin/operator overloading|معامِلات الإسناد المُحسَّنة (augmented assignment)]]
 
*<code>++</code> و<code>--</code> معاملات [[Kotlin/operator overloading|الزيادة (increment) والنقصان (decrement)]]
 
*<code>++</code> و<code>--</code> معاملات [[Kotlin/operator overloading|الزيادة (increment) والنقصان (decrement)]]
سطر 131: سطر 131:
 
*<code>?</code> لجعل [[Kotlin/null safety|النوع nullable]] (يقبل القيمة الفارغة null)
 
*<code>?</code> لجعل [[Kotlin/null safety|النوع nullable]] (يقبل القيمة الفارغة null)
 
*<code>‎->‎</code>
 
*<code>‎->‎</code>
**للفصل بين المتحولات (parameters) و<nowiki/>[[Kotlin/lambdas|بُنية تعبير lambda]]
+
**للفصل بين المعاملات (parameters) و<nowiki/>[[Kotlin/lambdas|بُنية تعبير lambda]]
**للفصل بين المتحولات (parameters) وتصريح النوع المُعاد في [[Kotlin/lambdas|نوع الدالة (function type)]]
+
**للفصل بين المعاملات (parameters) وتصريح النوع المُعاد في [[Kotlin/lambdas|نوع الدالة (function type)]]
 
**للفصل بين الشرط والبُنية (block) في الفرع (branch) من [[Kotlin/control flow|تعبير <code>when</code>]]
 
**للفصل بين الشرط والبُنية (block) في الفرع (branch) من [[Kotlin/control flow|تعبير <code>when</code>]]
 
*<code>@</code>
 
*<code>@</code>
سطر 141: سطر 141:
 
**إنشاء مرجعيّةٍ [[Kotlin/classes|للصنف الأعلى الخارجيّ (outer superclass)]]
 
**إنشاء مرجعيّةٍ [[Kotlin/classes|للصنف الأعلى الخارجيّ (outer superclass)]]
 
*<code>;</code> للفصل بين التعليمات المتعدِّدة الواقعة في نفس السطر
 
*<code>;</code> للفصل بين التعليمات المتعدِّدة الواقعة في نفس السطر
*<code>$</code> مرجعيّة لمتحولٍ (variable) أو تعبيرٍ (expression) في [[Kotlin/basic types|قالب السلسلة النصية (string template)]]
+
*<code>$</code> مرجعيّة لمتغيِّر (variable) أو تعبيرٍ (expression) في [[Kotlin/basic types|قالب السلسلة النصية (string template)]]
 
*<code>_</code>
 
*<code>_</code>
**بديلٌ عن المتحول غير المُستخدَم في [[Kotlin/lambdas|تعبير lambda]]
+
**بديلٌ عن المعامل غير المُستخدَم في [[Kotlin/lambdas|تعبير lambda]]
**بديلٌ عن المتحول غير المُستخدَم في [[Kotlin/multi declarations|التصريح بالتفكيك (destructuring declaration)]]
+
**بديلٌ عن المعامل غير المُستخدَم في [[Kotlin/multi declarations|التصريح بالتفكيك (destructuring declaration)]]
 
==مصادر==
 
==مصادر==
 
*[https://kotlinlang.org/docs/reference/keyword-reference.html صفحة الكلمات المفتاحية والمعاملات في التوثيق الرسمي للغة Kotlin]<noinclude>{{DISPLAYTITLE:الكلمات المفتاحية (Keywords) والمعاملات (Operators) في لغة Kotlin}}</noinclude>
 
*[https://kotlinlang.org/docs/reference/keyword-reference.html صفحة الكلمات المفتاحية والمعاملات في التوثيق الرسمي للغة Kotlin]<noinclude>{{DISPLAYTITLE:الكلمات المفتاحية (Keywords) والمعاملات (Operators) في لغة Kotlin}}</noinclude>

المراجعة الحالية بتاريخ 18:09، 4 يوليو 2018

 الكلمات المفتاحيّة الثابتة (Hard Keywords)

تُعدُّ الكلمات الآتية كلماتٍ مفتاحيّةً في لغة Kotlin وليس ممكنًا استخدامها كمُعرِّفات (identifiers):

الكلمات المفتاحيّة المرنة (Soft Keywords)

قد تُستخدَم الكلمات الآتية ككلماتٍ مفتاحيّةٍ في سياقٍ (context) ما أو كمُعرِّفاتٍ (identifiers) في سياقٍ آخر:

المُحدِّدات (Modifier Keywords)

قد تُستخدَم الكلمات الآتية كمُحدِّداتٍ (modifiers) في التصريحات، أو كمُعرِّفاتٍ (identifiers) في أيّ سياقٍ آخر:

المُعرِّفات الخاصّة (Special Identifiers)

وهي مُعرَّفةٌ لدى المُترجِم (compiler) بسياقٍ معيّنٍ ويمكن استخدامها كمعرِّفات (identifiers) في سياقٍ آخر:

المُعامِلات والرموز الخاصّة (Operators and Special Symbols)

مصادر