نتائج البحث
اذهب إلى التنقل
اذهب إلى البحث
الدالة property() في بايثون
تعيد الدّالة property() خاصيّةً يُمكن التّحكم في تابع الحصول على قيمتها، وتابع تعيين قيمة لها، وتابع حذف قيمتها، وسلسلة التّوثيق (docstring) الخاصّة بها. ويُمكن كذلك استخدامها كمُزخرف لتحويل تابع إلى خاصيّة. البنية العامة property(fget=None, fset=None, fdel=None, doc=None)
المعاملات fget الدالّة التّي ستُستخدم للحصول على قيمة الخاصيّة. fset الدالّة التّي ستُستخدم لتعيين قيمة للخاصيّة. fdel الدالّة التّي ستُستخدم لحذف قيمة الخاصيّة. doc سلسلة توثيق الخاصيّة. القيمة المعادة كائن خاصيّة (property object). الكائن المُعاد يحتوي على الخاصيّات fget، وfset، وfdel التي تُمثّل ...
الخاصية transition-property
الخاصية transition-property في CSS تستعمل لتحديد أسماء خاصيات CSS التي ستخضع لتأثير الانتقال. بطاقة الخاصية القيمة الابتدائية all تُطبَّق على جميع العناصر. قابلة للوراثة لا قابلة للتحريك لا القيمة المحسوبة كما حُدِّدَت. /* كلمات محجوزة */
transition-property: none;
transition-property: all;
transition-property: test_05;
transition-property: sliding-vertically;
transition-property: test1;
transition-property: test1, animation4;
transition-property: all, height, all;
/* القيم العامة */
transition-property: inherit;
transition-property: initial;
transition-property: unset;
ملاحظة: قائمة الخاصيات القابلة للتحريك عرضةٌ للتغيير، وبالتالي يجدر بك تفادي استخدام أيّة خاصيات لا تقبل التحريك حاليًا، فقد يؤدي ذلك إلى نتائج غير متوقعة. إذا استخدمتَ خاصية مختصرة ...
الخاصّيّات المُعمَّمة (Delegated Properties) في لغة Kotlin
استخدام الخاصّيّات المُعمَّمة تستطيع في لغة Kotlin تعريف استخدام (implement) الخاصّيّات يدويًا مرارًا وتكرارًا بكل مرةٍ تحتاجها، ولكن من الأسهل تعريف استخدامها مرةً واحدةً وتخزين هذا التعريف في المكتبة (library) للاستفادة منه كلما دعت الحاجة، وهذا يشمل: الخاصّيّات الكسولة (Lazy property): تُحسب قيمتها مرةً واحدةً فقط وذلك عند الوصول إليها للمرّة الأولى. الخاصّيّات المُراقَبة (observable property): إذ يُستدعَى مسؤول الانتظار (listener) عند حدوث أي تغييرٍ في الخاصّيّة. تخزين الخاصّيّات في map بدلًا من حقلٍ منفصلٍ لكلِّ منها. وتشمل لغة Kotlin ...
الخاصّيّات (Properties) وحقول البيانات (Fields) في لغة Kotlin
التصريح عن الخاصّيّات (Declaring Properties) قد تحتوي الأصناف في لغة Kotlin على الخاصّيّات المعرَّفة إما كقيمٍ متغيّرةٍ عبر الكلمة المفتاحيّة var أو كقيمٍ ثابتةٍ للقراءة فقط (read-only) عبر الكلمة المفتاحيّة val، مثل: class Address {
var name: String = ...
var street: String = ...
var city: String = ...
var state: String? = ...
var zip: String = ...
}
إذ يُمكن الوصول للخصائص عبر اسمها ...
Kotlin/Topics
بُنية لغة Kotlin مشابهةٌ لبنية لغة البرمجة Java بوصفها كائنيّة التوجه (OOP)، وبالتالي فهي تعتمد أساسًا على وجود الأصناف (classes) التي تحتوي بدورها على الخاصّيّات (properties) والدوال (functions)، كما وتدعم Kotlin العلاقات فيما بينها مثل الوراثة (inheritance) من صنفٍ أعلى (superclass) أو التداخل فيما بينها (nesting classes)، وتمتاز بوجود مُحدِّدات الوصول (visibility modifiers) للتحكم بعمليات الوصول للبيانات المُخزَّنة، وكذلك فهي تعتمد في بُنيتها على الحزم (packages) والمكتبات (libraries) التي تحتوي على الدوال المساعدة عند الحاجة إليها، أمّا عن بُنية التعليمات ...
الحزم (Packages) في Kotlin
التصريح عن الحزم يبدأ الملف المصدريّ (source file) عادةً بالتصريح (declaration) عن الحزم مثل: package foo.bar
fun baz() {}
class Goo {}
// ...
ويتوضع حينها كلُّ ما يحتويه هذا الملف (كالأصناف [classes] والدوال [functions] مثلًا) في الحزمة المُصرَّح عنها ببدايته، ففي الشيفرة السابقة إن الاسم الفعليّ الكامل للدالة baz() هو foo.bar.baz والاسم الكامل للصنف Goo هو foo.bar.Goo. وإذا لم تُحدَّد الحزمة في بداية الملف فإن محتوياته تتبع للحزمة الافتراضيّة "default" التي لا اسم لها. استيراد الحزم الافتراضيّة (Default Imports) يُستورَد عددٌ من الحزم ...
الواجهة Annotation في Kotlin
هي الواجهة الأساسيّة التي يُعرَّف استخدامها (implemented) ضمنيًا في جميع واجهات التوصيفات (annotation interfaces)، وللمزيد من التفاصيل راجع التوصيفات (annotations) في لغة Kotlin. interface Annotation
الدوال المورثة (Inherited Functions) equals تتحقق الدالة equals() إذا ما كان الكائن المُمرّر إليها يساوي الكائن الذي استدعيت معه. hashCode تعيد الدالة hashCode() الشيفرة Hash الخاصّة بالكائن الذي استُدعي معها. toString تحول الدالة toString() الكائن الذي يُستدعى معه إلى سلسلة نصية (String). الخاصيات الإضافية (Extension Properties) annotationClass تُستخدَم هذه الخاصيّة للحصول على نسخةٍ (instance) من الصنف KClass بحسب نوع التوصيف الحاليّ. ...
التوصيفات (Annotations) في لغة Kotlin
التصريح عن التوصيف (Annotation Declaration) تُعدُّ التوصيفات إحدى الوسائل لإضافة بياناتٍ توصيفيّةٍ (metadata) إلى الشيفرة، وللتصريح عن التوصيف يُضاف المُحدِّد annotation قبل اسم الصنف، مثل: annotation class Fancy
وقد تُحدَّد بعض خواصّ التوصيفات (annotation attributes) باستخدام التوصيفات الآتية (meta-annotations) لتوصيفات الصنف: @Target لتحديد نوع العناصر التي يمكن توصيفها مثل الأصناف (classes) والدوال (functions) والخاصّيّات (properties) والتعابير (expressions) و... إلخ. @Retention لتحديد فيما إن كان التوصيف مُخزَّنًا في ملفات الأصناف المُترجَمة، أو مرئيًا عبر انعكاسٍ (reflection) أثناء التنفيذ (runtime) (وكلاهما محقُّق بالحالة ...
الخاصية CharSequence.indices في Kotlin
تمثل الخاصيّة CharSequence.indices مجال فهارس المحارف الصالحة لسلسلة المحارف التي استُدعيت معها. البنية العامة val CharSequence.indices: IntRange
القيم المعادة يعاد مجالٌ من النوع IntRange يمثل فهارس المحارف الصالحة لسلسلة المحارف المعطاة. أمثلة استعمال الخاصية CharSequence.indices لمعرفة مجال فهارس سلسلة من المحارف: fun main(args: Array<String>) {
val x = "Hsoub"
print(x.indices) // 0..4
}
انظر أيضًا الدالة ()get: تجلب العنصر ذي الفهرس الممرَّر إليها من سلسلة الحروف المستدعاة معها. الخاصية CharSequence.lastIndex: تمثل فهرس المحرف الأخير في سلسلة المحارف التي ...
الخاصية Char.directionality في Kotlin
تمثل الخاصية Char.directionality خاصية الاتجاه في الترميز الموحد (Unicode directionality property) للمحرف الذي استُدعي معها. البنية العامة val Char.directionality: CharDirectionality
منصة التشغيل المطلوبة: JVM. القيم المعادة يعاد كائن من النوع CharDirectionality يمثل خاصية الاتجاه في الترميز الموحد للمحرف المعطى. مثال استعمال الخاصية Char.directionality لمعرفة اتجاه عدة محارف: fun main(args: Array<String>) {
val x = 'a'
val y = 'أ'
val z = '4'
println(x.directionality) // LEFT_TO_RIGHT
...
الخاصية Char.category في Kotlin
تمثل الخاصية category فئة المحرف العامة (character's general category). البنية العامة val Char.category: CharCategory
منصة التشغيل المطلوبة: JVM. القيم المعادة يعاد كائن من النوع CharCategory يحتوي على الفئة العامة للمحرف المعطى. مثال استعمال الخاصية Char.category لمعرفة الفئة العامة لعدة محارف: fun main(args: Array<String>) {
val x = 'a'
val y = 'A'
val z = '4'
println(x.category) // LOWERCASE_LETTER
println(y.category) // UPPERCASE_LETTER
println(z.category) ...
الصنف CharDirectionality في Kotlin
الخاصيات الموروثة (Inherited Properties) name تعيد الخاصية name اسم الثابت من الكائن enum الذي استُدعيت عبره، كما سُمّيت أُثناء تعريف ذلك الكائن. ordinal تعيد الخاصية ordinal ترتيب الثابت من الكائن enum الذي استُدعيت عبره enumeration constant))، أي ترتيبها في تصريح الكائن enum،بحيث تأخذ المُركّبة الأولى العدد 0. الدوال الموروثة clone يطلق التابع clone() استثناءً (exception) لأنّ ثوابت enum لا يمكن أن تُنسخ. هذا التابع يمنع الأصناف من النوع Enum من أن ترِث من الصنفCloneable. compareTo تقارن الدالةcompareTo() بين قيمة العنصر الذي استُدعيت عبره والقيمة المُمرّرة، إذ تعيد القيمة 0 إن كانا متساويين، أو تعيد قيمة سلبية ...
الصنف CharDirectionality في Kotlin
الخاصيات الموروثة (Inherited Properties) name تعيد الخاصية name اسم الثابت من الكائن enum الذي استُدعيت عبره، كما سُمّيت أُثناء تعريف ذلك الكائن. ordinal تعيد الخاصية ordinal ترتيب الثابت من الكائن enum الذي استُدعيت عبره enumeration constant))، أي ترتيبها في تصريح الكائن enum،بحيث تأخذ المُركّبة الأولى العدد 0. الدوال الموروثة clone يطلق التابع clone() استثناءً (exception) لأنّ ثوابت enum لا يمكن أن تُنسخ. هذا التابع يمنع الأصناف من النوع Enum من أن ترِث من الصنفCloneable. compareTo تقارن الدالةcompareTo() بين قيمة العنصر الذي استُدعيت عبره والقيمة المُمرّرة، إذ تعيد القيمة 0 إن كانا متساويين، أو تعيد قيمة سلبية ...
الصنف RegexOption في Kotlin
يوفّر قيما مُرقّمة (enumeration values) لاستخدامها في تعيين خيارات التعابير النمطية. الخاصيات الموروثة (Inherited Properties) name تعيد الخاصية name اسم الثابت من الكائن enum الذي استُدعيت عبره، كما سُمّيت أُثناء تعريف ذلك الكائن. ordinal تعيد الخاصية ordinal ترتيب الثابت من الكائن enum الذي استُدعيت عبره enumeration constant))، أي ترتيبها في تصريح الكائن enum،بحيث تأخذ المُركّبة الأولى العدد 0. الدوال الموروثة clone يطلق التابع clone() استثناءً (exception) لأنّ ثوابت enum لا يمكن أن تُنسخ. هذا التابع يمنع الأصناف من النوع Enum من أن ترِث من الصنفCloneable. compareTo تقارن الدالةcompareTo() بين قيمة العنصر الذي استُدعيت عبره ...
الانعكاس (Reflection) في لغة Kotlin
الانعكاس هو مجموعةٌ من مميّزات اللغة والمكتبات التي تسمح بمراقبة بُنية البرنامج أثناء التنفيذ، إذ تولي لغة Kotlin أهميةً كبرى لكلٍّ من الدوال (functions) والخاصّيّات (properties) وتستمر بتتبُّعها (مثل معرفة اسم أو نوع الخاصّيّة والدالة أثناء التنفيذ) وهذا يرتبط ارتباطًا وثيقًا مع استخدام النمط الوظائفيّ (functional) أو التفاعليّ (reactive). ملاحظة: إن الجزء التنفيذيّ (runtime component) المطلوب في منصّة العمل Java لاستخدام ميزات الانعكاس يُوزَّع كملف .jar مستقلٍّ (kotlin-reflect.jar) وذلك بهدف تخفيض حجم التخزين المطلوب لمكتبة التنفيذ (runtime library) للتطبيقات غير ...
الدالة also() في Kotlin
تستدعي الدالة also() بُنية (block) الدالة المُحدَّدة مع جعل قيمة this كوسيط (argument) وتُعيد قيمة this. البنية العامة inline fun <T> T.also(block: (T) -> Unit): T
يُلاحَظ وجود الكلمة المفتاحية inline للدلالة على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions)). المعاملات block الكتلة البرمجية المراد استدعاؤها وتنفيذها. القيم المعادة تعيد الكائن الذي استدعيت عبره بعد التعديل عليه. أمثلة استخدام الدالة also() مع الكائنات لتعديل خاصياتها (properties) تستدعي الشيفرة الآتية الدالة also() عبر السلسلة النصية string ...
الصنف Char في Kotlin
يمثل الصنف Char محرفًا بحجم 16 بت مرمزًا بالترميز الموحَّد (Unicode). في بيئة التشغيل JVM، القيم غير المعدومة (non-nullable) لهذا النوع تُمثَّل كقيم للنوع char الأساسي. class Char : Comparable<Char>
الدوال compareTo توازن الدالة compareTo() بين قيمة المحرف الذي استُدعي معها والقيمة المُمرّرة إليها ثمَّ تعيد القيمة 0 إن كانا متساويين، أو قيمة سالبة إن كانت القيمة الأولى (قيمة المحرف الذي استُدعي معها) أصغر من القيمة الثانية، أو قيمة موجبة إن كانت القيمة الأولى أكبر من القيمة الثانية. dec تعيد الدالة dec() المحرف السابق للمحرف الذي ...
الصنف Char في Kotlin
يمثل الصنف Char محرفًا بحجم 16 بت مرمزًا بالترميز الموحَّد (Unicode). في بيئة التشغيل JVM، القيم غير المعدومة (non-nullable) لهذا النوع تُمثَّل كقيم للنوع char الأساسي. class Char : Comparable<Char>
الدوال compareTo توازن الدالة compareTo() بين قيمة المحرف الذي استُدعي معها والقيمة المُمرّرة إليها ثمَّ تعيد القيمة 0 إن كانا متساويين، أو قيمة سالبة إن كانت القيمة الأولى (قيمة المحرف الذي استُدعي معها) أصغر من القيمة الثانية، أو قيمة موجبة إن كانت القيمة الأولى أكبر من القيمة الثانية. dec تعيد الدالة dec() المحرف السابق للمحرف الذي ...
الصنف Float في Kotlin
يمثل الصنف Float عددًا عشريًّا (دقة أحادية للأعداد بعد الفاصلة [single-precision floating point]) بحجم 32 بت مطابقًا للمعيار IEEE 754. في بيئة التشغيل JVM، القيم غير المعدومة (non-nullable) لهذا النوع تُمثَّل كقيم للنوع float الأساسي. class Float : Number, Comparable<Float>
الدوال compareTo توازن الدالة compareTo() بين عدد عشري (float) وعدد آخر ثمَّ تعيد القيمة 0 إن كانا متساويين، أو قيمة سالبة إن كان العدد الأول (العدد الذي استُدعي مع الدالة) أصغر من العدد الثاني الممرر إليها، أو قيمة موجبة إن كان العدد الأول أكبر من العدد الثاني. dec تنقص ...
الصنف Float في Kotlin
يمثل الصنف Float عددًا عشريًّا (دقة أحادية للأعداد بعد الفاصلة [single-precision floating point]) بحجم 32 بت مطابقًا للمعيار IEEE 754. في بيئة التشغيل JVM، القيم غير المعدومة (non-nullable) لهذا النوع تُمثَّل كقيم للنوع float الأساسي. class Float : Number, Comparable<Float>
الدوال compareTo توازن الدالة compareTo() بين عدد عشري (float) وعدد آخر ثمَّ تعيد القيمة 0 إن كانا متساويين، أو قيمة سالبة إن كان العدد الأول (العدد الذي استُدعي مع الدالة) أصغر من العدد الثاني الممرر إليها، أو قيمة موجبة إن كان العدد الأول أكبر من العدد الثاني. dec تنقص ...
الصنف Double في Kotlin
يمثل الصنف Double عددًا عشريًّا مضاعفًا (دقة مضاعفة للأعداد بعد الفاصلة [double-precision floating point]) بحجم 64 بت مطابقًا للمعيار IEEE 754. في بيئة التشغيل JVM، القيم غير المعدومة (non-nullable) لهذا النوع تُمثَّل كقيم للنوع double الأساسي. class Double : Number, Comparable<Double>
الدوال compareTo توازن الدالة compareTo() بين عدد عشري مضاعف (double) وعدد آخر ثمَّ تعيد القيمة 0 إن كانا متساويين، أو قيمة سالبة إن كان العدد الأول (العدد الذي استُدعي مع الدالة) أصغر من العدد الثاني الممرر إليها، أو قيمة موجبة إن كان العدد الأول أكبر ...
الصنف Double في Kotlin
يمثل الصنف Double عددًا عشريًّا مضاعفًا (دقة مضاعفة للأعداد بعد الفاصلة [double-precision floating point]) بحجم 64 بت مطابقًا للمعيار IEEE 754. في بيئة التشغيل JVM، القيم غير المعدومة (non-nullable) لهذا النوع تُمثَّل كقيم للنوع double الأساسي. class Double : Number, Comparable<Double>
الدوال compareTo توازن الدالة compareTo() بين عدد عشري مضاعف (double) وعدد آخر ثمَّ تعيد القيمة 0 إن كانا متساويين، أو قيمة سالبة إن كان العدد الأول (العدد الذي استُدعي مع الدالة) أصغر من العدد الثاني الممرر إليها، أو قيمة موجبة إن كان العدد الأول أكبر ...
الصنف DeprecationLevel في Kotlin
يحوي الصنف DeprecationLevel مستويات تصف درجات الإهمال (deprecation levels). enum class DeprecationLevel
القيم القابلة للعد (Enum Values) WARNING تشير القيمة WARNING إلى وجود تحذير تولد نتيجة استعمال عنصر مهمل (deprecated element). ERROR تشير القيمة ERROR إلى وجود خطأٍ تولد نتيجة استعمال عنصر مهمل (deprecated element). HIDDEN تشير القيمة HIDDEN إلى أن العنصر المهمل (deprecated elements) غير متاح للاستخدام ضمن الشيفرة. الخاصيات الموروثة (Inherited Properties) name تمثِّل الخاصية Enum.name اسم الثابت المعرف في الكائن enum الذي استُدعي معها كما سُمّي أُثناء تعريف هذا الكائن. ordinal تمثل الخاصية Enum.ordinal ترتيب (ordinal) الثابت المعرف في ...
الصنف DeprecationLevel في Kotlin
يحوي الصنف DeprecationLevel مستويات تصف درجات الإهمال (deprecation levels). enum class DeprecationLevel
القيم القابلة للعد (Enum Values) WARNING تشير القيمة WARNING إلى وجود تحذير تولد نتيجة استعمال عنصر مهمل (deprecated element). ERROR تشير القيمة ERROR إلى وجود خطأٍ تولد نتيجة استعمال عنصر مهمل (deprecated element). HIDDEN تشير القيمة HIDDEN إلى أن العنصر المهمل (deprecated elements) غير متاح للاستخدام ضمن الشيفرة. الخاصيات الموروثة (Inherited Properties) name تمثِّل الخاصية Enum.name اسم الثابت المعرف في الكائن enum الذي استُدعي معها كما سُمّي أُثناء تعريف هذا الكائن. ordinal تمثل الخاصية Enum.ordinal ترتيب (ordinal) الثابت المعرف في ...
المقارنة بين لغتيّ البرمجة Java و Kotlin
بعض المواضيع في Java ومعالجتها في Kotlin عالجت لغة Kotlin العديد من المشاكل الموجودة في Java وهي: التحكُّم بالمرجعيّات الفارغة (null references) عبر نظام الأنواع لا وجود للأنواع الخامّ (raw types) تُعدُّ المصفوفات في Kotlin ثابتة (invariant) للدوال (functions) في Kotlin أنواع مناسبة وهذا ما يتعارض مع التحويلات SAM في Java التنوّع في موقع الاستخدام (use-site variance) دون الحاجة إلى المحارف البديلة (wildcards) لا وجود للاستثناءات المُتحقَّق منها (checked exceptions) في Kotlin ما تمتاز به Java ولا تدعمه Kotlin الاستثناءات ...
التعابير الاصطلاحية (Idioms) في لغة Kotlin
تعرِض هذه الصفحة عددًا من التعابير الاصطلاحيّة المستخدَمة بكثرةٍ في لغة Kotlin، ولأيّ اصطلاحٍ جديدٍ لم يُذكَر فيمكنك تعديل هذه الصفحة لإضافته. إنشاء كائنات نقل البيانات DTO: Data Transfer Objects (الكائنات POJO/POCO) ليكن الصنف (class) الآتي باسم Customer: data class Customer(val name: String, val email: String)
وله التوابع الوظيفيّة (functional methods) الآتية: توابع getter (وتوابع setter في حالة المتحولات من النوع var) لكافة الخاصّيّات (properties) equals() hashCode() toString() copy() component1() و component2() ...إلخ. وذلك لكافة الخاصّيّات (properties) في الصنف (راجع أصناف البيانات ...
أنماط الشيفرات المُتعارَف عليها ما بين مبرمجي Kotlin
تعرِض هذه الصفحة أنماط كتابة الشيفرات المُتعارَف عليها (conventions) من قِبل مبرمجي لغة Kotlin. تطبيق دليل التنسيق (Applying the Style Guide) لضبط المُنسِّق IntelliJ formatter بما يتوافق مع هذا الدليل يُنصَح بتثبيت إضافة Kotlin بالإصدار 1.2.20 (أو أي إصدارٍ أحدث) وضبط المّحرِّر بالانتقال إلى الإعدادات (Settings) ثمّ المُحرِّر (Editor) ثم نمط الشيفرة (Code Style) ثم Kotlin واختر "ضبط من..." Set from…"" في الزاوية اليمنى العُلويَّة ومن القائمة اختر الخيار Predefined style/Kotlin style guide. وللتأكد من تنسيق الشيفرة وفقًا لدليل Kotlin ...
أنماط الشيفرات المُتعارَف عليها ما بين مبرمجي Kotlin
تعرِض هذه الصفحة أنماط كتابة الشيفرات المُتعارَف عليها (conventions) من قِبل مبرمجي لغة Kotlin. تطبيق دليل التنسيق (Applying the Style Guide) لضبط المُنسِّق IntelliJ formatter بما يتوافق مع هذا الدليل يُنصَح بتثبيت إضافة Kotlin بالإصدار 1.2.20 (أو أي إصدارٍ أحدث) وضبط المّحرِّر بالانتقال إلى الإعدادات (Settings) ثمّ المُحرِّر (Editor) ثم نمط الشيفرة (Code Style) ثم Kotlin واختر "ضبط من..." Set from…"" في الزاوية اليمنى العُلويَّة ومن القائمة اختر الخيار Predefined style/Kotlin style guide. وللتأكد من تنسيق الشيفرة وفقًا لدليل Kotlin ...
الأصناف (Classes) والوراثة (Inheritance) في لغة Kotlin
تُستخدم الكلمة المفتاحيّة class للتصريح (declaration) عن الصنف بالصيغة الآتية (اسم الصنف Invoice): class Invoice {
}
ويحتوي التصريح على اسم الصنف (class name) وترويسة الصنف (class header) (والتي تُحدِّد معاملات النوع والباني الأساسيّ ...إلخ.) وبُنية الصنف (class body) محاطةً بالقوسين {}، وإن كلًا من ترويسة الصنف وبُنيته اختياريتان؛ فإذا كان الصنف خاليًا لا حاجة للأقواس، مثل: class Empty
الباني (Constructor) يوجد لكلّ صنف في لغة Kotlin بانٍ رئيسيّ (primary) واحدٌ وبانٍ -أو أكثر- ثانويّ (secondary)، إذ يُعدُّ الباني الرئيسيّ جزءًا من ...
الصنف Any في Kotlin
يعد الصنف Any الجذر الرئيسيّ في الهرميّة العامّة لأيّ صنفٍ مُستخدَمٍ في Kotlin؛ أي أنّ كلَّ صنفٍ سيكون له الصنف الأعلى (superclass) Any. open class Any
الدوال البانية <int> يعيد التابع Any() نسخةً من الصنف Any الذي هو الجذر الرئيسيّ في الهرميّة العامّة لأيّ صنفٍ مُستخدَمٍ أثناء البرمجة في Kotlin؛ أي أنّ كلَّ صنفٍ سيكون له الصنف الأعلى (superclass) Any. الدوال equals تتحقق الدالة equals() إذا ما كان الكائن المُمرّر إليها يساوي الكائن الذي استدعيت معها. hashCode تعيد الدالة hashCode() قيمة الشيفرة hash code الخاصّة بالكائن الذي ...
استخدام لغة Kotlin للتطوير في بيئة Android
تُعدُّ لغة Kotlin أداةً مناسبةً لتطوير تطبيقات Android لأنّها تزوِّد بمنصةٍ للعمل في نظام Android بميّزات لغات البرمجة الحديثة بدون فرض أي قيودٍ جديدة. ميزات استخدام لغة Kotlin للتطوير في بيئة Android التوافقيّة (Compitability): تتوافق لغة Kotlin كليًّا مع بيئة JDK6، وبهذا تتيح تشغيل التطبيقات المكتوبة بلغة Kotlin على الأجهزة ذات الإصدارات الأقدم من أنظمة Android بدون أي مشاكل تُذكر، كما وتدعم برمجيةُ Android Studio أدوات لغة Kotlin بشكلٍ تامّ ومتوافقٍ مع أنظمة بناء Android. الأداء (Performance): تعمل التطبيقات المكتوبة ...
الكلمات المفتاحية (Keywords) والمعاملات (Operators) في لغة Kotlin
الكلمات المفتاحيّة الثابتة (Hard Keywords) تُعدُّ الكلمات الآتية كلماتٍ مفتاحيّةً في لغة Kotlin وليس ممكنًا استخدامها كمُعرِّفات (identifiers): as تُستخدَم في التحويلات ما بين الأنواع (typecasts) تُحدِّد تسميةً بديلةً (alias) عند عملية الاستيراد (import) as? للتحويلات الحافظة للنوع (safe type casts) break لإنهاء تنفيذ الحلقات (loops) class للتصريح عن الأصناف continue للاستمرار بالخطوة التالية لأقرب حلقة محيطة (enclosing) do للبدء بحلقة do/while (والتي يُختبَر الشرط فيها لاحقًا) else لتعريف فرعٍ (branch) من تعبير الشرط if والذي سيُنفَّذ عندما يكون الشرط بالقيمة false false ...
الصنف Byte في Kotlin
يمثل الصنف Byte عددًا صحيحًا ذا إشارة (signed integer) بحجم 8 بت. في بيئة التشغيل JVM، القيم غير المعدومة (non-nullable) لهذا النوع تُمثَّل كقيم للنوع byte الأساسي. class Byte : Number, Comparable<Byte>
الدوال compareTo توازن الدالة compareTo() بين قيمة العنصر الذي استُدعي معها والقيمة المُمرّرة إليها ثمَّ تعيد القيمة 0 إن كانا متساويين، أو قيمة سالبة إن كانت القيمة الأولى (قيمة العنصر الذي استُدعيت معه) أصغر من القيمة الثانية، أو قيمة موجبة إن كانت القيمة الأولى أكبر من القيمة الثانية. dec تنقص الدالة dec() القيمة ...
الصنف Byte في Kotlin
يمثل الصنف Byte عددًا صحيحًا ذا إشارة (signed integer) بحجم 8 بت. في بيئة التشغيل JVM، القيم غير المعدومة (non-nullable) لهذا النوع تُمثَّل كقيم للنوع byte الأساسي. class Byte : Number, Comparable<Byte>
الدوال compareTo توازن الدالة compareTo() بين قيمة العنصر الذي استُدعي معها والقيمة المُمرّرة إليها ثمَّ تعيد القيمة 0 إن كانا متساويين، أو قيمة سالبة إن كانت القيمة الأولى (قيمة العنصر الذي استُدعيت معه) أصغر من القيمة الثانية، أو قيمة موجبة إن كانت القيمة الأولى أكبر من القيمة الثانية. dec تنقص الدالة dec() القيمة ...
بنية البرمجة في لغة Kotlin
تعريف الحزم (Package) يُكتب توصيف الحزمة (package) في بداية الملف المصدريّ (source file) بالشكل الآتي: package my.demo
import java.util.*
// ...
ولا يُشترط التوافق ما بين الحزمة (package) والمجلد الذي توجد فيه (directory)، إذ من الممكن أن تتوضع الملفات المصدريّة عشوائيًّا في نظام الملفات. المزيد عن الحزم (packages). تعريف الدوال (Function) إن كانت الدالة بمتحولين من نوع Int وتعيد قيمةً بنوع Int أيضًا، فسيصبح تعريفها بالشكل: fun sum(a: Int, b: Int): Int {
return a + b
}
أما الشيفرة الآتية فهي لتعريف دالةٍ باسم sum ...
استخدام لغة Kotlin في تطوير تطبيقات الخادم (Server)
تُعدّ لغة Kotlin أداةً قويةً في تطوير تطبيقات الخادم (server)؛ إذ تكون الشيفرات فيها دقيقةً ومعبِّرة، وتمتاز بالتوافقيّة التامّة مع لغة Java ومن السهل تعلُّمها بسرعة. ميزات استخدام لغة Kotlin لتطوير تطبيقات الخادم (Server) القدرة على التعبير (Expressiveness): تساعد مميّزات لغة Kotlin المبتكرَة (مثل دعمها للمنشِئ الحافظ للنوع (type-safe builder) والخاصّيات المُعمّمة (delegated properties)) على إنشاء البنى التجريديّة (abstraction) سهلةِ الاستخدام. قابلية التوسّع (Scalability): تدعم لغة Kotlin ميّزة الروتينات المساعدة (coroutines)، وهي بهذا تتيح -في تطبيقات الخادم- إمكانيّة التوسّع لعددٍ ...
التحميل الزائد للمعاملات (Operator Overloading) في لغة Kotlin
تُتيح لغة Kotlin إجراءَ مجموعةٍ مُعرَّفة مسبقًا من العمليات على أنواع البيانات المختلفة وذلك باستخدام رموزٍ ثابتةٍ تعتمدها لغة Kotlin مثل الرمز + أو الرمز * وتختلف فيما بينها بالأولويّة (precedence)، حيث توجد دالةٌ (إما دالة من الصنف [member] أو دالة إضافيّة [extension]) باسمٍ ثابتٍ لكلّ معاملٍ مُعرَّف بحسب النوع (نوعٌ يساريٌّ للعمليات الثنائيّة [binary operations] ونوع وسائط [argument type] للعمليات الأحاديّة [unary operations])، ويجب تحديد الدوال التي تحتوي على تحميلٍ زائدٍ للمعاملات بالمُحدَّد operator، تناقش الصفحة الاصطلاحات (conventions) التي ...
أصناف البيانات (Data Classes) في لغة Kotlin
تُنشَأ بعض الأصناف بهدف تخزين البيانات فيها بشكلٍ أساسيّ، وبالتالي فإنّ كلّ ما تقوم به هذه الأصناف من وظائف يرتبط بالبيانات، وهذا ما يُسمى بأصناف البيانات في لغة Kotlin وتُعرَّف بالمُحدِّد data كما يلي: data class User(val name: String, val age: Int)
قواعد عامّة يقوم المُترجِم في الأصناف من هذه النوع باشتقاق العناصر (deriving members) الآتية من كلِّ الخاصّيّات المُعرَّفة في الباني الأساسيّ (primary constructor): كلًا من equals() و hashCode() الدالة toString() بشكلها "User(name=John, age=42)" الدوال بالصيغة componentN() functions بما ...
أصناف الثوابت المُتعدِّدة (Enum Classes) في لغة Kotlin
يتلخَّصُ الاستخدام الرئيسيّ لأصناف الثوابت المتعدَّدة في قدرتها على تعريف الاستخدام (implementing) للثوابت المتعدًّدة الحافظة للنوع (type-safe)، ويُصرَّح عنها بالشكل: enum class Direction {
NORTH, SOUTH, WEST, EAST
}
إذ يُعدُّ كلُّ ثابتٍ فيها كائنًا (object)، ويُفصل فيما بينها بالفاصلة , . التهيئة (Initialization) لمّا كان كلّ ثابتٍ في صنف الثوابت المتعدِّدة (enum) يُعدُّ كائنًا فيمكن إجراء التهيئة كما يلي: enum class Color(val rgb: Int) {
RED(0xFF0000),
...
أنواع البيانات (Data Types) في Kotlin
إن كلَّ عنصرٍ في Kotlin يعد كائنًا إذ يمكن استدعاء الدوال (member functions) والخاصّيّات (properties) عبر أي متغيِّر (variable)، ولبعض الأنواع تمثيلها الداخلي الخاص بها؛ فعلى سبيل المثال تُمثَّل الأعداد والمحارف والقيم المنطقية (boolean) كقيمٍ أساسيّةٍ أثناء التشغيل (runtime) ولكنها بالنسبة للمستخدم مجرّد أصنافٍ عادية، وتناقش هذه الصفحة الأنواع الرئيسيّة للبيانات في Kotlin وهي: الأعداد، والمحارف، والقيم المنطقية (boolean)، والمصفوفات، والسلاسل النصيّة. الأعداد (Numbers) تتعامل لغة Kotlin مع البيانات العدديّة بطريقةٍ مماثلةٍ للغة Java ولكن بفوارق بسيطة، فلا تدعم مثلًا ...
الإضافات (Extensions) في لغة Kotlin
الإضافات (Extensions) توفِّر لغة Kotlin -كما هو الحال في لغات البرمجة مثل C# و Gosu- إمكانيّة الإضافة على الأصناف (classes) بوظائف جديدةٍ دون اللجوء إلى الوراثة (inheritance) منها أو استخدام أيّ أنماطٍ تصميميّةٍ مثل Secorator، وذلك من خلال تصريحات خاصّة تُدعى الإضافات (extensions)، إذ تدعم لغة Kotlin الدوال الإضافيّة (extension functions) والخاصّيّات الإضافيّة (extension properties). الدوال الإضافيّة (Extension Functions) لتعريف دالةٍ إضافيّةٍ يجب أن يُسبَق اسمها بنوع المستقبِل (receiver type) أي النوع الذي ستتمّ الإضافة عليه، ففي الشيفرة الآتية تُضاف ...
التحقق من الأنواع (Type Check) والتحويل بينها (Casting) في لغة Kotlin
المعاملين is و !is تدعم لغة Kotlin ميّزة التحقُّق من توافق الكائن مع أحد الأنواع أثناء التنفيذ، وذلك بالاعتماد على المُعامِل is أو صيغته المنفيّة !is كما في الشيفرة: if (obj is String) {
print(obj.length)
}
if (obj !is String) { // !(obj is String) مكافئ للصيغة
print("Not a String")
}
else {
print(obj.length)
}
التحويلات الذكية (Smart Casts) لا حاجة في كثيرٍ من الأحيان لجعل التحويل صريحًا (explicit) في لغة Kotlin لأنّ المترجم (compiler) يتتبَّع ...
التحكم بالتدفق (Control Flow) في Kotlin
كما في أيّة لغة برمجة فإن لغة Kotlin تحتوي على تعابير للتحكم بالتدفق، وهي: تعبير if، وتعبير when، وحلقة for، وحلقة while. وتدعم كذلك الكلمتين المفتاحيّتَين continue و break المستخدَمتَين في الحلقات (راجع أوامر الرجوع والقفز returns and jump). تعبير if يُعدُّ الشرط if في لغة Kotlin تعبيرًا يعيد قيمة، وبالتالي لا حاجة للصيغة condition ? then : else لأن تعبير if يقوم بهذا الدور كما في الشيفرة الآتية: // الاستخدام الاعتيادي
var max = a
if (a < b) max = b
// ...
الدالة property_exists() في PHP
(PHP 5 >= 5.1.0, PHP 7) تتحقق الدالة property_exists() فيما إذا كان لدى الكائن أو الصنف الخاصيّة property. الوصف bool property_exists ( mixed $class , string $property )
تتحقق الدالة property_exists() فيما إذا كانت الخاصية property المُعطاة موجودةً في الصنف المُحدّد. ملاحظة: على عكس الدالة isset()، ستُعيد الدالة property_exists() القيمة TRUE حتى لو كان لدى الخاصية القيمة NULL. المعاملات class اسم الصنف أو كائن من الصنف الذي يُراد اختباره. property اسم الخاصية المراد التأكد من وجودها. القيم المعادة تُعيد الدالة ...
الخاصية javaClass في Kotlin
تعيد الخاصيّة javaClass صنف Java الخاص بالكائن (object) الذي تُستدعى عبره أثناء التشغيل (runtime)، وتُعرَّف هذه الخاصية في جميع الأصناف الفرعيّة (sub-classes) من الصنف Any. البنية العامة inline val <T : Any> T.javaClass: Class<T>
يُلاحَظ وجود الكلمة المفتاحية inline للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions). القيم المعادة صنف Java الخاصّ بالكائن الذي تُستدعى عبره أثناء التشغيل (runtime). أمثلة تنشِئ الشيفرة الآتية سلسلةً نصيةً باسم a، وتحصل على صنف Java الخاص بها عبر استدعاء ...
الخاصية MatchGroup.range في Kotlin
تمثل الخاصية MatchGroup.range مجال الفهارس التي تحدّد مكان مجموعة النتائج التي تم الحصول عليها. البنية العامة val range: IntRange
المنصة المطلوبة: JVM. القيم المعادة يعاد مجال الفهارس التي تحدّد مكان مجموعة النتائج التي تم الحصول عليها. انظر أيضًا الخاصية MatchGroup.value: تمثل قيمة مجموعة النتائج التي تم الحصول عليها. مصادر صفحة الخاصيّة MatchGroup.range في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.
الخاصية Char.directionality في Kotlin
تعيد الخاصية Char.directionality قيمة اتجاهية اليونيكود (Unicode directionality) للمحرف الذي استُدعيت معه. البنية العامة val Char.directionality: CharDirectionality
المنصة المطلوبة: JVM. القيم المعادة تعاد قيمة اتجاهية اليونيكود للمحرف المعطى. مثال استعمال الخاصية directionality لمعرفة اتجاهية عدة محارف: fun main(args: Array<String>) {
val x = 'a'
val y = 'أ'
val z = '4'
println(x.directionality) // LEFT_TO_RIGHT
println(y.directionality) // RIGHT_TO_LEFT_ARABIC
println(z.directionality) // EUROPEAN_NUMBER
}
انظر أيضًا ...
الخاصية indices في Kotlin
تُستخدَم هذه الخاصيّة للحصول على الفهارس الصحيحة (valid indices) للمصفوفة أو المجموعة (collection). البنية العامة توفّر لغة Kotlin الخاصيّة indices للمصفوفات من الأنواع المختلفة كما يلي: val <T> Array<out T>.indices: IntRange
val ByteArray.indices: IntRange
val ShortArray.indices: IntRange
val IntArray.indices: IntRange
val LongArray.indices: IntRange
val FloatArray.indices: IntRange
val DoubleArray.indices: IntRange
val BooleanArray.indices: IntRange
val CharArray.indices: IntRange
وكذلك للمجموعة (collection) val Collection<*>.indices: IntRange
القيم المعادة الفهارس الصحيحة (valid indices) للمصفوفة أو المجموعة (collection). أمثلة استخدام الخاصية indices مع المصفوفات: fun main(args: Array<String>) {
val array = arrayOf(4,5,7,9)
...
الخاصية MatchResult.destructured في Kotlin
تمثل الخاصية MatchResult.destructured نسخةً من الصنف Destructured توفّر مكونات عملية الإسناد بالتفكيك (destructuring assignment) التي تطبق على قيم المجموعة المُطابقة. تطابق الدالة component1 قيمة المجموعة الأولى، وتطابق الدالة component2 قيمة المجموعة الثانية، وهلم جرًا. البنية العامة open val destructured: Destructured
القيمة المعادة تعاد نسخةٌ من الصنف Destructured. أمثلة ينشِئ التابع Regex() في الشيفرة التالية تعبيرًا نمطيًا باسم regex لتفكيك مسارات الملفات إلى ثلاث مُركّبات: المجلد (directory) واسم الملف (fileName) والامتداد (extension)، ثم نعرّف سلسلة نصية باسم fullPath تحتوي مسار أحد الملفات، ثم نستخرج من fullPath مجموعات النتائج عبر استدعاء الدالة ...
الخاصية CharSequence.length في Kotlin
تمثل الخاصية CharSequence.length عدد عناصر سلسلة المحارف (CharSequence) المستدعاة معها. البنية العامة abstract val length: Int
أمثلة استعمال الخاصية CharSequence.length لمعرفة عدد عناصر سلسلة من الحروف: fun main(args: Array<String>) {
val s = "hsoub"
println(s.length) // 5
}
انظر أيضًا الدالة ()get: تجلب العنصر ذي الفهرس الممرَّر إليها من سلسلة الحروف المستدعاة معها. الدالة subSequence(): تجلب جزءًا محددًا يقع في سلسلة الحروف التي استٌدعيت معها. مصادر صفحة الخاصية CharSequence.length في التوثيق الرسميّ للمكتبة القياسيّة في ...
الخاصية Regex.pattern في Kotlin
تمثل الخاصية Regex.pattern النمط الذي استعمل في إنشاء التعبير النمطي الذي استُدعي معها. البنية العامة actual val pattern: String
القيمة المعادة تعاد سلسلة نصية تمثل النمط الذي استعمل في إنشاء التعبير النمطي المعطى. أمثلة استعمال الخاصية Regex.pattern مع تعبير نمطي لمعرفة النمط الأولي الذي استعمل في إنشائه -باستعمال الدالة Regex()-: fun main(args: Array<String>) {
val reg = Regex("""-?\d+(\.\d+)?""")
print(reg.pattern ) // -?\d+(\.\d+)?
}
انظر أيضًا الخاصية Regex.options: تمثل مجموعةَ الخيارات التي استُخدمت في إنشاء التعبير ...
الخاصية MatchResult.value في Kotlin
تمثل الخاصية MatchResult.value السلسلة النصية المُدخلة، أو جزءًا منها، والمُطابقة للتعبير النمطي. البنية العامة abstract val value: String
القيمة المعادة تعاد سلسلة نصية تحوي السلسلة النصية المُدخلة، أو جزءًا منها، والمُطابقة للتعبير النمطي. أمثلة في الشيفرة التالية، ننشِئ تعبيرًا نمطيًا باسم regex باستخدام التابع Regex()، ثم نعرّف سلسلة نصية باسم str، ثم نستخرج منها مجموعات النتائج عبر استدعاء الدالة matchEntire(). نستخدم بعدئذٍ الخاصية value لاستخراج السلسلة النصية المُطابقة للتعبير النمطي regex و الموجودة في str: fun main(args: Array<String>) {
val pattern = Regex("[a-zA-Z]+([0-9]+)[a-zA-Z]+([0-9]+)[a-zA-Z]+")
val str = ...
الخاصية ByteArray.size في Kotlin
تمثِّل الخاصيّة size عدد العناصر الموجودة في المصفوفة ذات النوع ByteArray. البنية العامة val size: Int
القيم المعادة يعاد عددٌ صحيحٌ يمثِّل عدد العناصر في المصفوفة المعطاة. أمثلة استعمال الخاصيّة size لمعرفة عدد العناصر الموجود في مصفوفة من النوع ByteArray: fun main(args: Array<String>) {
val array = ByteArray(6)
print(array.size) // 6
}
انظر أيضًا الصنف ByteArray. الدالة ByteArray(): تنشئ مصفوفة جديدة من النوع ByteArray (أي حجم كل عنصر منها بايتًا واحدًا) بحجم معين، إذ تحوي قيمًا محدَّدة أو القيم 0. التابع ()get: يجلب عنصرًا ...
الخاصية MatchResult.groups في Kotlin
تمثل الخاصية MatchResult.groups مجموعةً (collection) تضم جميع المجموعات (groups) المتطابقة باستعمال تعبير نمطي محدد. حجم تلك المجموعة يساوي groupCount + 1، إذ يكون groupCount عددَ المجموعات (groups) المتطابقة في التعبير النمطي. تلك المجموعات مُفهرسةٌ بدءًا من العدد 1 وحتى groupCount، والمجموعة ذات الفهرس 0 توافق كل ما تطابق. البنية العامة abstract val groups: MatchGroupCollection
القيمة المعادة يعاد كائن من النوع MatchGroupCollection يمثل مجموعة (collection) تضم جميع المجموعات (groups) المتطابقة باستعمال تعبير نمطي محدد. أمثلة في الشيفرة التالية، ننشِئ تعبيرًا نمطيًا باسم regex ...
الخاصية Enum.name في Kotlin
تمثِّل الخاصية Enum.name اسم الثابت المعرف في الكائن enum الذي استُدعي معها كما سُمّي أُثناء تعريف هذا الكائن. البنية العامة val name: String
أمثلة يوضح المثال التالي كيفية إنشاء نسخة من الصنف Enum باسم ColorEnum مكونًا من أربعة ثوابت هي: Red و Blue و Green و Orange، واستعمال الخاصية Enum.name مع الثابتين RED و BLUE: fun main(args: Array<String>) {
print(ColorEnum.Red.name) // Red
print(ColorEnum.Blue.name) // Blue
}
enum class ColorEnum(val colorCode: Int)
{
Red(2),
Blue(11212),
...
الخاصية DoubleArray.size في Kotlin
تمثِّل الخاصيّة DoubleArray.size عدد العناصر الموجودة في المصفوفة ذات النوع DoubleArray. البنية العامة val size: Int
القيم المعادة يعاد عددٌ صحيحٌ يمثِّل عدد العناصر في المصفوفة المعطاة. أمثلة استعمال الخاصيّة size لمعرفة عدد العناصر الموجود في مصفوفة من النوع DoubleArray: fun main(args: Array<String>) {
val array = DoubleArray(6)
print(array.size) // 6
}
انظر أيضًا الصنف DoubleArray. الدالة DoubleArray(): تنشئ مصفوفة جديدة من النوع DoubleArray (أي مصفوفة من الأعداد العشرية المضاعفة) بحجم معين، وتحوي قيمًا محدَّدة أو القيم 0. الدالة ()get: تجلب عنصرًا ذي فهرس محدد من المصفوفة. الدالة iterator(): تنشئ عنصرًا تكراريًّا (iterator) لتكرار بنيةٍ (block) برمجيةٍ على ...
الخاصية MatchResult.groupValues في Kotlin
تمثل الخاصية MatchResult.groupValues قائمة بقيم المجموعة المفهرسة المتطابقة. حجم تلك القائمة يساوي groupCount + 1، إذ يكون groupCount عدد المجموعات المتطابقة في التعبير النمطي. تلك المجموعات مُفهرسة بدءًا من العدد 1 وحتى groupCount، والمجموعة ذات الفهرس 0 توافق كل ما تطابق. إن كانت المجموعة في التعبير النمطي اختيارية ولم ترصد هذه المجموعة أي عملية تطابق تُذكر، فستساوي قيمةُ العنصر المقابل في المجموعة groupValues حينئذٍ سلسلةً نصيةً فارغةً. البنية العامة abstract val groupValues: List<String>
القيمة المعادة تعاد قائمة تضم جميع قيم ...
الخاصية MatchGroup.value في Kotlin
تمثل الخاصية MatchGroup.value قيمة مجموعة النتائج التي تم الحصول عليها. البنية العامة actual val value: String
القيم المعادة تعاد قيمة مجموعة النتائج التي تم الحصول عليها. انظر أيضًا الخاصية MatchGroup.range: تمثل مجال الفهارس التي تحدّد مكان مجموعة النتائج التي تم الحصول عليها. مصادر صفحة الخاصيّة MatchGroup.value في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.
الخاصية FloatArray.size في Kotlin
تمثِّل الخاصيّة FloatArray.size عدد العناصر الموجودة في المصفوفة ذات النوع FloatArray. البنية العامة val size: Int
القيم المعادة يعاد عددٌ صحيحٌ يمثِّل عدد العناصر في المصفوفة المعطاة. أمثلة استعمال الخاصيّة size لمعرفة عدد العناصر الموجود في مصفوفة من النوع FloatArray: fun main(args: Array<String>) {
val array = FloatArray(6)
print(array.size) // 6
}
انظر أيضًا الصنف FloatArray. الدالة FloatArray(): تنشئ مصفوفة جديدة من النوع FloatArray (أي مصفوفة من الأعداد العشرية) بحجم معين، وتحوي قيمًا محدَّدة أو القيم 0. الدالة ()get: تجلب عنصرًا ذي فهرس محدد من المصفوفة. الدالة iterator(): تنشئ عنصرًا ...
الخاصية CharSequence.lastIndex في Kotlin
تمثل الخاصيّة CharSequence.lastIndex فهرس المحرف الأخير في سلسلة المحارف التي استُدعيت معها. البنية العامة val CharSequence.lastIndex: Int
القيم المعادة يعاد عدد صحيح يمثل فهرس العنصر الأخير الموجود ضمن سلسلة المحارف المعطاة، أو تعاد القيمة 1- إن كانت سلسلة المحارف تلك فارغةً. أمثلة استعمال الخاصية CharSequence.lastIndex لمعرفة فهرس العنصر الأخير في سلسلة من المحارف: fun main(args: Array<String>) {
val x = "hsoub"
print(x.lastIndex) // 4
}
انظر أيضًا الدالة ()get: تجلب العنصر ذي ...
الخاصية StringBuilder.length في Kotlin
تمثل الخاصية length حجم الكائن StringBuilder (عدد محارفه) الذي استدعي معها. البنية العامة actual val length: Int
منصة التشغيل المطلوبة: JS. حلت الخاصية CharSequence.length مكان هذه الخاصية. القيمة المعادة يعاد حجم الكائن StringBuilder (عدد محارفه) المعطى. أمثلة استعمال الخاصية length لمعرفة حجم كائن من النوع StringBuilder: fun main(args: Array<String>) {
val sb = StringBuilder("hsoub")
println(sb.length) // => 5
}
انظر أيضًا الدالة append(): تضيف محرفًا أو سلسلة نصية أو أيَّ كائن آخر إلى الكائن StringBuilder. الدالة toString(): تحول الكائن ...
الخاصية javaClass في Kotlin
تعيد الخاصيّة javaClass صنف Java الخاص بالكائن (object) الذي تُستدعى عبره أثناء التشغيل (runtime)، وتُعرَّف هذه الخاصية في جميع الأصناف الفرعيّة (sub-classes) من الصنف Any. البنية العامة inline val <T : Any> T.javaClass: Class<T>
يُلاحَظ وجود الكلمة المفتاحية inline للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions). القيم المعادة صنف Java الخاصّ بالكائن الذي تُستدعى عبره أثناء التشغيل (runtime). أمثلة تنشِئ الشيفرة الآتية سلسلةً نصيةً باسم a، وتحصل على صنف Java الخاص بها عبر استدعاء ...
الخاصية Char.category في Kotlin
تعيد الخاصية Char.category الفئة العامة للمحرف. البنية العامة val Char.category: CharCategory
المنصة المطلوبة: JVM. القيم المعادة تعاد الفئة العامة للمحرف المعطى. مثال استعمال الخاصية Char.category لمعرفة الفئة العامة لعدة محارف: fun main(args: Array<String>) {
val x = 'a'
val y = 'A'
val z = '4'
println(x.category) // LOWERCASE_LETTER
println(y.category) // UPPERCASE_LETTER
println(z.category) // DECIMAL_DIGIT_NUMBER
}
...
الخاصية MatchResult.range في Kotlin
تمثل الخاصية MatchResult.range مجال الفهارس الذي يحدد مكان مُطابقة تعبير نمطي محدد في السلسلة النصية الأصلية. البنية العامة abstract val range: IntRange
القيمة المعادة يعاد مجالٌ من النوع IntRange يمثل الفهارس التي تحدد مكان مُطابقة تعبير نمطي محدد في السلسلة النصية الأصلية. أمثلة في الشيفرة التالية، ننشِئ تعبيرًا نمطيًا باسم regex باستخدام التابع Regex()، ثم نعرّف سلسلة نصية باسم str، ثم نستخرج منها مجموعات النتائج عبر استدعاء الدالة matchEntire(). نستخدم بعدئذٍ الخاصية MatchResult.range لاستخراج الفهارس التي تحدد مكان مُطابقة التعبير النمطي regex في ...
الخاصية BooleanArray.size في Kotlin
تمثِّل الخاصيّة size عدد العناصر الموجودة في المصفوفة. البنية العامة val size: Int
القيم المعادة يعاد عددٌ صحيحٌ يمثِّل عدد العناصر في المصفوفة المعطاة. أمثلة استعمال الخاصية size مع مصفوفة منطقية يراد معرفة عدد عناصرها: fun main(args: Array<String>) {
val array = BooleanArray(4) {it % 2 == 0}
println(array.size) // 4
}
استعمال الخاصية size لمعرفة إن كانت المصفوفة فارغة أم لا: fun main(args: Array<String>) {
...
الخاصية Array.size في Kotlin
تمثل الخاصيّة size عدد العناصر الموجودة في المصفوفة (array). البنية العامة val size: Int
القيم المعادة يعاد عددٌ صحيحٌ يساوي عدد العناصر في المصفوفة المُحدَّدة. أمثلة استخدام الخاصية size مع مصفوفة أعداد صحيحة (integers): fun main(args: Array<String>) {
val arrayOfInt = arrayOf(1, 2, 3, 4, 5)
println(arrayOfInt.size) // 5
}
استخدام الخاصية size مع مصفوفة سلاسل نصية (strings): fun main(args: Array<String>) {
val arrayOfStr = arrayOf("programming","kotlin")
println(arrayOfStr.size) // 2
}
استخدام الخاصية size مع مصفوفة فارغة (empty): fun main(args: Array<String>) {
val emptyArray: Array<Int> = arrayOf()
println(emptyArray.size) // 0
}
انظر ...
الخاصية CharArray.size في Kotlin
تمثِّل الخاصيّة CharArray.size عدد العناصر الموجودة في المصفوفة ذات النوع CharArray. البنية العامة val size: Int
القيم المعادة يعاد عددٌ صحيحٌ يمثِّل عدد العناصر في المصفوفة المعطاة. أمثلة استعمال الخاصيّة size لمعرفة عدد العناصر الموجود في مصفوفة من النوع CharArray: fun main(args: Array<String>) {
val array = CharArray(6)
print(array.size) // 6
}
انظر أيضًا الصنف CharArray. الدالة CharArray(): تنشئ مصفوفة جديدة من النوع CharArray (أي مصفوفة من الحروف) بحجم معين، وتحوي قيمًا محدَّدة أو القيمة '\u0000' التي تمثل حرفًا عدميًّا. التابع ()get: يجلب عنصرًا ذي فهرس محدد من ...
الخاصية lastIndex في Kotlin
تُستخدَم هذه الخاصيّة للحصول على الفهرس (index) الأخير للمصفوفة أو القائمة (list)، أو القيمة -1 إن كانت المصفوفة أو القائمة فارغةً. البنية العامة توفّر لغة Kotlin الخاصيّة lastIndex للمصفوفات من الأنواع المختلفة كما يلي: val <T> Array<out T>.lastIndex: IntRange
val ByteArray.lastIndex: IntRange
val ShortArray.lastIndex: IntRange
val IntArray.lastIndex: IntRange
val LongArray.lastIndex: IntRange
val FloatArray.lastIndex: IntRange
val DoubleArray.lastIndex: IntRange
val BooleanArray.lastIndex: IntRange
val CharArray.lastIndex: IntRange
وكذلك للقائمة (list): val <T> List<T>.lastIndex: Int
القيم المعادة يعاد الفهرس الأخير للمصفوفة أو القائمة، أو القيمة -1 إن كانت المصفوفة أو القائمة فارغة. أمثلة استخدام ...
الخاصية Enum.ordinal في Kotlin
تمثل الخاصية Enum.ordinal ترتيب (ordinal) الثابت المعرف في الكائن enum الذي استُدعي معها؛ أي موقعه في تصريح الكائن enum، إذ يكون موقع الثابت الأول هو 0 وهكذا. البنية العامة val ordinal: Int
أمثلة توضح الشيفرة التالية كيفية إنشاء صنف من النوع Enum باسم ColorEnum مكونًا من أربعة ثوابت هي: Red و Blue و Green و Orange، واستعمال الخاصية ordinal مع المركّبتين Red و Blue لمعرفة ترتيبهما: fun main(args: Array<String>) {
print(ColorEnum.Red.ordinal) // 0
print(ColorEnum.Blue.ordinal) // 1
}
enum class ColorEnum(val colorCode: Int)
{
...
الخاصية Regex.options في Kotlin
تمثل الخاصية Regex.options مجموعةَ الخيارات التي استُخدمت في إنشاء التعبير النمطي الذي استُدعي معها. البنية العامة actual val options: Set<RegexOption>
القيمة المعادة تعاد مجموعةٌ تحوي جميع الخيارات التي استعملت في ضبط التعبير النمطي المعطى أثناء إنشائه. أمثلة استعمال الخاصية options مع تعبير نمطي لمعرفة الخيارات التي استعملت في ضبطه عند إنشائه -باستعمال الدالة Regex()-: fun main(args: Array<String>) {
val reg = Regex("""-?\d+(\.\d+)?""", RegexOption.UNIX_LINES)
print(reg.options) // [UNIX_LINES]
}
انظر أيضًا الخاصية Regex.pattern: تمثل النمط الأولي الذي ...
مهيئ الكائنات في JavaScript
يمكن تهيئة الكائنات باستخدام new Object() أو الدالة Object.create() أو باستخدام الشكل المختصرة (initializer notation). إنَّ مُهيّئ الكائنات هو قائمة فيها «صفر» زوج أو أكثر من أسماء الخاصيات مع القيم المرتبطة بها، مفصولةٌ بفواصل، ويحيط بها قوسين معقوفين {}. البنية العامة var o = {};
var o = {a: 'foo', b: 42, c: {}};
var a = 'foo', b = 42, c = {};
var o = {a: a, b: b, c: c};
var o = {
property: function ([parameters]) {},
get property() ...
خاصيات الكائنات في PHP
تطلق تسمية "الخاصيات properties" على المتغيّرات المعرّفة ضمن الأصناف، وهناك تسميات أخرى مثل "المعاملات" أو "الحقول"، ولكن سنستخدم التسمية الأولى "الخاصيات" في هذا الدليل. تعرّف الخاصيات باستخدام إحدى الكلمات المفتاحية public، أو protected، أو private تتبعها عبارة تصريح عن متغير اعتيادي. يمكن أن يتضمّن هذا التصريح عملية تهيئة initialization، ولكن يجب أن تكون هذه التهيئة ذات قيمة ثابتة، بمعنى أنّه يجب أن تكون قابلة للمعالجة في وقت التصريف ويجب أن لا تعتمد على المعلومات المتاحة في وقت التشغيل لغرض المعالجة. ...
خاصيات الكائنات في PHP
تطلق تسمية "الخاصيات properties" على المتغيّرات المعرّفة ضمن الأصناف، وهناك تسميات أخرى مثل "المعاملات" أو "الحقول"، ولكن سنستخدم التسمية الأولى "الخاصيات" في هذا الدليل. تعرّف الخاصيات باستخدام إحدى الكلمات المفتاحية public، أو protected، أو private تتبعها عبارة تصريح عن متغير اعتيادي. يمكن أن يتضمّن هذا التصريح عملية تهيئة initialization، ولكن يجب أن تكون هذه التهيئة ذات قيمة ثابتة، بمعنى أنّه يجب أن تكون قابلة للمعالجة في وقت التصريف ويجب أن لا تعتمد على المعلومات المتاحة في وقت التشغيل لغرض المعالجة. ...
مُحدِّدات الوصول (Visibility Modifiers) في لغة Kotlin
تُعيِّن مُحدِّدات الوصول قابليةَ الوصول إلى كلٍّ من الأصناف (classes) والكائنات (objects) والواجهات (interfaces) والدوال (functions) والخاصّيّات (properties) ودوال الوصول إليها من النوع setters (لأن مُحدِّد الوصول إلى getter مماثلٌ للوصول إلى الخاصّيّة نفسها)، وهناك أربعة أنواعٍ من المُحدِّدات وهي: private و protected و internal و public والنوع الافتراضيّ منها هو public (يُستخدم عند عدم وجود تصريحٍ عن إحداها)، وفيما يلي شرح لكيفيّة تطبيق المُحدِّدات على أنواعٍ مختلفةٍ من التصريحات (declarations). الحزم (Packages) يمكن تعريف كلٍّ من الدوال والخاصّيّات والأصناف ...
الخاصية transition
الخاصية transition في CSS هي خاصية مختصرة تؤدي إلى ضبط قيم الخاصيات transition-property و transition-duration و transition-timing-function و transition-delay. بطاقة الخاصية القيمة الابتدائية لكل خاصية مختصرة: transition-delay: 0s transition-duration: 0s transition-property: all transition-timing-function: ease تُطبَّق على جميع العناصر. قابلة للوراثة لا قابلة للتحريك لا القيمة المحسوبة لكل خاصية مختصرة: transition-delay: كما حُدِّدَت. transition-duration: كما حُدِّدَت. transition-property: كما حُدِّدَت. transition-timing-function: كما حُدِّدَت. /* property name | duration */
transition: margin-right 4s;
/* property name | duration | delay */
transition: margin-right 4s 1s;
/* property name | duration | timing function ...
البنية المختصرة لتعريف الدوال في JavaScript
بدءًا من ECMAScript 2015 (أي ES6)، يمكن تعريف الدوال التابعة للكائن بطريقة مختصرة عند تهيئة الكائنات. البنية العامة var obj = {
property( parameters… ) {},
*generator( parameters… ) {},
async property( parameters… ) {},
async* generator( parameters… ) {},
// مع مفاتيح محسوبة
[property]( parameters… ) {},
*[generator]( parameters… ) {},
async [property]( parameters… ) {},
// قارن مع شكل getter/setter
get property() {},
set property(value) {}
};
الوصف ...
الواجهة MatchNamedGroupCollection في Kotlin
توسع هذه الواجهة الصنف MatchGroupCollection عبر تعريف طريقةٍ لجلب المجموعات المتطابقة (matched groups) عن طريق أسمائها عندما يدعم Regex ذلك. interface MatchNamedGroupCollection : MatchGroupCollection
الإصدار المطلوب: kotlin 1.1. الدوال (Functions) get تعيد هذه الدالة نسخةً من الصنف MatchGroup إن كانت المجموعة التي تحمل الاسم المُمرّر إليها متطابقَة. الدوال الموروثة (Inherited Functions) get تعيد هذه الدالة نسخةً من الصنف MatchGroup إن كانت المجموعة التي تحمل الاسم المُمرّر إليها متطابقَة. الخاصيات الإضافية (Extension Properties) indices تُستخدَم هذه الخاصيّة للحصول على الفهارس الصحيحة (valid indices) للمصفوفة أو المجموعة (collection). الدوال ...
الواجهة MatchGroupCollection في Kotlin
تمثل الواجهة MatchGroupCollection مجموعةً (collection) من الفئات المرصودة (captured groups) عند إجراء مطابقة واحدة لتعبير نمطي ما. حجم المجموعة يساوي groupCount + 1، إذ يمثل groupCount عدد الفئات (groups) في التعبير النمطي. الفئات مُفهرسة بدءًا من 1 وحتى groupCount، والفئة ذات الفهرس 0 تقابل كل ما تطابق. يمكن أن يساوي بعض عناصر المجموعة القيمة العدمية (null) في حال كانت الفئة المقابلة في التعبير النمطي اختيارية، ولم يُرصَد أي تطابق من قبل تلك الفئة. interface MatchGroupCollection : Collection<MatchGroup?>
الدوال get تعيد هذه ...
الواجهة MatchGroupCollection في Kotlin
تمثل الواجهة MatchGroupCollection مجموعةً (collection) من الفئات المرصودة (captured groups) عند إجراء مطابقة واحدة لتعبير نمطي ما. حجم المجموعة يساوي groupCount + 1، إذ يمثل groupCount عدد الفئات (groups) في التعبير النمطي. الفئات مُفهرسة بدءًا من 1 وحتى groupCount، والفئة ذات الفهرس 0 تقابل كل ما تطابق. يمكن أن يساوي بعض عناصر المجموعة القيمة العدمية (null) في حال كانت الفئة المقابلة في التعبير النمطي اختيارية، ولم يُرصَد أي تطابق من قبل تلك الفئة. interface MatchGroupCollection : Collection<MatchGroup?>
الدوال get تعيد هذه ...
الواجهة MatchNamedGroupCollection في Kotlin
توسع هذه الواجهة الصنف MatchGroupCollection عبر تعريف طريقةٍ لجلب المجموعات المتطابقة (matched groups) عن طريق أسمائها عندما يدعم Regex ذلك. interface MatchNamedGroupCollection : MatchGroupCollection
الإصدار المطلوب: kotlin 1.1. الدوال (Functions) get تعيد هذه الدالة نسخةً من الصنف MatchGroup إن كانت المجموعة التي تحمل الاسم المُمرّر إليها متطابقَة. الدوال الموروثة (Inherited Functions) get تعيد هذه الدالة نسخةً من الصنف MatchGroup إن كانت المجموعة التي تحمل الاسم المُمرّر إليها متطابقَة. الخاصيات الإضافية (Extension Properties) indices تُستخدَم هذه الخاصيّة للحصول على الفهارس الصحيحة (valid indices) للمصفوفة أو المجموعة (collection). الدوال ...
التصريح عن الكائنات (Object Declarations) وتعابيرها (Expressions) في لغة Kotlin
قد تحتاج في بعض الأحيان لإنشاء كائنٍ بإجراء تعديلاتٍ طفيفةٍ على أحد الأصناف (classes) بدون التصريح عن صنفٍ فرعيٍّ (subclass) له؛ تعالج لغة Java مثل هذه الحالات بالاعتماد على الأصناف الداخليّة المجهولة (anonymous inner classes)، وتُعمِّمها لغة Kotlin من خلال طرح مفهوم التصريح عن الكائنات وتعابيرها. تعابير الكائنات (Object Expressions) لإنشاء كائنٍ من صنفٍ مجهولٍ (anonymous) يرِث من نوعٍ أو أكثر تكون الشيفرة بالشكل: window.addMouseListener(object : MouseAdapter() {
override fun mouseClicked(e: MouseEvent) {
...
Object.defineProperties()
الدالة Object.defineProperties() تُعرِّف خاصياتٍ جديدةً على كائنٍ مباشرةً، أو تُعدِّل خاصياتٍ موجودةً مسبقًا في كائنٍ ثم تُعيد هذا الكائن. البنية العامة Object.defineProperties(obj, props)
obj الكائن الذي نريد تعريف الخاصيات فيه أو تعديلها. props كائنٌ فيه خاصياتٌ تابعةٌ له وقابلةٌ للإحصاء تُحدِّد واصفات الخاصيات (property descriptors) التي ستُضاف إلى الكائن أو تُعدِّله والتي سترتبط بأسماء الخاصيات. وهنالك نوعان للواصفات: واصفات البيانات (data descriptors) وواصفات الوصول (accessor descriptors)، راجع صفحة الدالة Object.defineProperty() لمزيدٍ من التفاصيل. واصفات البيانات وواصفات الوصول هما كائنات، ويتشاركان ...
الخاصية transition-duration
الخاصية transition-duration في CSS تُحدِّد الزمن الذي سيستغرقه تأثير الانتقال للوصول إلى القيمة النهائية للخاصية، والقيمة الافتراضية 0s لن تؤدي إلى حدوث تأثير انتقال أبدًا. بطاقة الخاصية القيمة الابتدائية 0s تُطبَّق على جميع العناصر. قابلة للوراثة لا قابلة للتحريك لا القيمة المحسوبة كما حُدِّدَت. يمكننا تحديد أكثر من قيمة لهذه الخاصية، وكل قيمة سترتبط بقيمة من قيم الخاصية transition-property، وإذا كانت هنالك قيم في هذه الخاصية أقل من القيم المسندة للخاصية transition-property فستُكرَّر قيم هذه الخاصية كي تكفي، وإذا كانت ...
الخاصية transition-delay
الخاصية transition-delay في CSS تُحدِّد الزمن الذي يجب انتظاره بين وقوع الحدث الذي سيؤدي إلى بدء تأثير الانتقال وبين بداية التأثير. بطاقة الخاصية القيمة الابتدائية 0s تُطبَّق على جميع العناصر. قابلة للوراثة لا قابلة للتحريك لا القيمة المحسوبة كما حُدِّدَت. القيمة 0s أو 0ms تُشير إلى أنَّ الحركة الانتقالية للخاصية ستبدأ مباشرةً عند وقوع الحدث، والقيم الموجبة ستؤدي إلى تأثير بداية تأثير الانتقال وفقًا للقيمة المُحدَّدة، والقيم السالبة ستؤدي إلى بدء تأثير الانتقال مباشرةً لكن مع جعله يبدو وكأنه قد ...
CSS/Topics/Transition
الخاصية الوصف transition خاصية مختصرة تؤدي إلى ضبط قيم الخاصيات transition-property و transition-duration و transition-timing-function و transition-delay. transition-delay تُحدِّد الزمن الذي يجب انتظاره بين وقوع الحدث الذي سيؤدي إلى بدء تأثير الانتقال وبين بداية التأثير. transition-duration تُحدِّد الزمن الذي سيستغرقه تأثير الانتقال للوصول إلى القيمة النهائية للخاصية، والقيمة الافتراضية 0s لن تؤدي إلى حدوث تأثير انتقال أبدًا. transition-property تستعمل لتحديد أسماء خاصيات CSS التي ستخضع لتأثير الانتقال. transition-timing-function تستعمل لوصف كيف ستتأثر القيم الوسطية لخاصيات CSS بتأثير الانتقال، أي أنها تسمح لك بتحديد ما هو منحني التسارع ...
الصنف CharSequence في Kotlin
تمثل الواجهة CharSequence سلسلةً من المحارف قابلةً للقراءة. interface CharSequence
الخاصيات length تمثل الخاصية CharSequence.length عدد عناصر سلسلة المحارف (CharSequence) المستدعاة معها. الدوال get تجلب الدالة get() المحرف ذا الفهرس الممرَّر إليها من سلسلة المحارف المستدعاة معها. subSequence تجلب الدالة subSequence() جزءًا محددًا يقع في سلسلة المحارف التي استٌدعيت معها. الدوال الموروثة (Inherited Functions) equals تتحقق الدالة equals() إذا ما كان الكائن المُمرّر إليها يساوي الكائن الذي استدعيت معه. hashCode تعيد الدالة hashCode() الشيفرة Hash الخاصّة بالكائن الذي استُدعي معها. toString تحول الدالة toString() الكائن الذي يُستدعى معه إلى سلسلة نصية (String). الخاصيات الإضافية (Extension Properties) ...
الصنف CharSequence في Kotlin
تمثل الواجهة CharSequence سلسلةً من المحارف قابلةً للقراءة. interface CharSequence
الخاصيات length تمثل الخاصية CharSequence.length عدد عناصر سلسلة المحارف (CharSequence) المستدعاة معها. الدوال get تجلب الدالة get() المحرف ذا الفهرس الممرَّر إليها من سلسلة المحارف المستدعاة معها. subSequence تجلب الدالة subSequence() جزءًا محددًا يقع في سلسلة المحارف التي استٌدعيت معها. الدوال الموروثة (Inherited Functions) equals تتحقق الدالة equals() إذا ما كان الكائن المُمرّر إليها يساوي الكائن الذي استدعيت معه. hashCode تعيد الدالة hashCode() الشيفرة Hash الخاصّة بالكائن الذي استُدعي معها. toString تحول الدالة toString() الكائن الذي يُستدعى معه إلى سلسلة نصية (String). الخاصيات الإضافية (Extension Properties) ...
الدوال المتغيّرة في PHP
تدعم PHP مفهوم الدوال المتغيّرة والذي يعني أنّه في حال إلحاق قوسين إلى نهاية اسم أحد المتغيّرات، فإنّ اللغة ستبحث عن دالة تحمل الاسم ذاته، وستحاول تنفيذها. يمكن الاستفادة من هذه الميزة في الاستدعاءات الخلفية callbacks، وجداول الدوال وما إلى ذلك. لا تعمل الدوال المتغيرة مع البنى التابعة للغة مثل echo و print و unset() و isset() و empty() و include و require وما شابهها، ولاستخدام أيّ من هذه الدوال كدوال متغيرة يمكن الاستعانة بدوالّ تغليف. المثال 1: مثال على ...
الدوال المتغيّرة في PHP
تدعم PHP مفهوم الدوال المتغيّرة والذي يعني أنّه في حال إلحاق قوسين إلى نهاية اسم أحد المتغيّرات، فإنّ اللغة ستبحث عن دالة تحمل الاسم ذاته، وستحاول تنفيذها. يمكن الاستفادة من هذه الميزة في الاستدعاءات الخلفية callbacks، وجداول الدوال وما إلى ذلك. لا تعمل الدوال المتغيرة مع البنى التابعة للغة مثل echo و print و unset() و isset() و empty() و include و require وما شابهها، ولاستخدام أيّ من هذه الدوال كدوال متغيرة يمكن الاستعانة بدوالّ تغليف. المثال 1: مثال على ...
الصنف FloatArray في Kotlin
يمثل الصنف FloatArray مصفوفةً من الأعداد العشرية. إن كانت منصة التشغيل المستهدفة هي JVM، فيمكن تمثيل نُسَخ هذا الصنف بالشكل []float. class FloatArray
الدوال البانية <init> تنشئ الدالة FloatArray() البانية مصفوفة جديدة من النوع FloatArray (أي مصفوفة من الأعداد العشرية) بحجم معين، وتحوي قيمًا محدَّدة أو القيم 0. الخاصيات size تمثِّل الخاصيّة FloatArray.size عدد العناصر الموجودة في المصفوفة ذات النوع FloatArray. الدوال get تجلب الدالة get() عنصرًا ذي فهرس محدد من المصفوفة. iterator ينشئ الدالة iterator() عنصرًا تكراريًّا (iterator) لتكرار بنيةٍ (block) برمجيةٍ على كافّة عناصر المصفوفة المستدعاة معه. set تضبط الدالة set() قيمة عنصر ذي ...
الصنف DoubleArray في Kotlin
يمثل الصنف CharArray مصفوفةً من الأعداد العشرية المضاعفة. إن كانت منصة التشغيل المستهدفة هي JVM، فيمكن تمثيل نُسَخ هذا الصنف بالشكل []char. class DoubleArray
الدوال البانية (Constructors) <init> تنشئ الدالة DoubleArray() البانية مصفوفة جديدة من النوع DoubleArray (أي مصفوفة من الأعداد العشرية المضاعفة [double]) بحجم معين، وتحوي قيمًا محدَّدة أو القيم 0. الخاصيات size تمثِّل الخاصيّة DoubleArray.size عدد العناصر الموجودة في المصفوفة ذات النوع DoubleArray. الدوال get تجلب الدالة get() عنصرًا ذي فهرس محدد من المصفوفة. iterator تنشئ الدالة iterator() عنصرًا تكراريًّا (iterator) لتكرار بنيةٍ (block) برمجيةٍ على كافّة عناصر المصفوفة المستدعاة معه. set تضبط الدالة set() قيمة عنصر ذي ...
الصنف Array في Kotlin
يمثل الصنف Array مصفوفة (مصفوفة Java تحديدًا عند استهداف المنصة JVM). يمكن إنشاء نسخ من هذا الصنف باستعمال الدوال ()arrayOf و ()arrayOfNulls و ()emptyArray الخاصة بالمكتبة القياسية. للمزيد من المعلومات حول المصفوفات، ارجع إلى قسم "المصفوفات" في توثيق الأنواع الأساسية. class Array<T>
الدوال البانية <int> تنشِئ الدالة Array() البانية مصفوفةً بحجم size مُحدَّدٍ، حيث يُحسَب كلُّ عنصرٍ فيها عبر استدعاء الدالة init المُحدَّدة، والتي تُعيد عنصرًا في المصفوفة بحسب الفهرس (index) المُعطى. الدوال والخاصيات size تمثِّل الخاصيّة size عدد العناصر الموجودة في المصفوفة (array). iterator تعيد هذه الدالة ...
الصنف ByteArray في Kotlin
يمثل الصنف ByteArray مصفوفةً من البايتات. إن كانت منصة التشغيل المستهدفة هي JVM، فيمكن تمثيل نُسَخ هذا الصنف بالشكل []byte. class ByteArray
الدوال البانية <int> تنشئ الدالة ByteArray() البانية مصفوفة جديدة من النوع ByteArray (أي حجم كل عنصر منها بايتًا واحدًا) بحجم معين، إذ تحوي قيمًا محدَّدة أو القيم 0. الخاصيات size تمثِّل الخاصيّة size عدد العناصر الموجودة في المصفوفة ذات النوع ByteArray. الدوال get يجلب التابع get() عنصرًا ذي فهرس محدد من المصفوفة. iterator ينشئ التابع iterator() عنصرًا تكراريًّا (iterator) لتكرار بنيةٍ (block) برمجيةٍ على كافّة عناصر المصفوفة المستدعاة معه. set يضبط التابع set() قيمة ...
الصنف CharArray في Kotlin
يمثل الصنف CharArray مصفوفةً من المحارف. إن كانت منصة التشغيل المستهدفة هي JVM، فيمكن تمثيل نُسَخ هذا الصنف بالشكل []char. class CharArray
الدوال البانية <init> تنشئ الدالة CharArray() البانية مصفوفة جديدة من النوع CharArray (أي مصفوفة من الحروف) بحجم معين، وتحوي قيمًا محدَّدة أو القيمة '\u0000' التي تمثل حرفًا عدميًّا. الخاصيات size تمثِّل الخاصيّة CharArray.size عدد العناصر الموجودة في المصفوفة ذات النوع CharArray. الدوال get يجلب التابع get() عنصرًا ذي فهرس محدد من المصفوفة. iterator تنشئ الدالة iterator() عنصرًا تكراريًّا (iterator) لتكرار بنيةٍ (block) برمجيةٍ على كافّة عناصر المصفوفة المستدعاة معه. set تضبط الدالة set() قيمة عنصر ذي فهرس ...
الصنف CharArray في Kotlin
يمثل الصنف CharArray مصفوفةً من المحارف. إن كانت منصة التشغيل المستهدفة هي JVM، فيمكن تمثيل نُسَخ هذا الصنف بالشكل []char. class CharArray
الدوال البانية <init> تنشئ الدالة CharArray() البانية مصفوفة جديدة من النوع CharArray (أي مصفوفة من الحروف) بحجم معين، وتحوي قيمًا محدَّدة أو القيمة '\u0000' التي تمثل حرفًا عدميًّا. الخاصيات size تمثِّل الخاصيّة CharArray.size عدد العناصر الموجودة في المصفوفة ذات النوع CharArray. الدوال get يجلب التابع get() عنصرًا ذي فهرس محدد من المصفوفة. iterator تنشئ الدالة iterator() عنصرًا تكراريًّا (iterator) لتكرار بنيةٍ (block) برمجيةٍ على كافّة عناصر المصفوفة المستدعاة معه. set تضبط الدالة set() قيمة عنصر ذي فهرس ...
الصنف DoubleArray في Kotlin
يمثل الصنف CharArray مصفوفةً من الأعداد العشرية المضاعفة. إن كانت منصة التشغيل المستهدفة هي JVM، فيمكن تمثيل نُسَخ هذا الصنف بالشكل []char. class DoubleArray
الدوال البانية (Constructors) <init> تنشئ الدالة DoubleArray() البانية مصفوفة جديدة من النوع DoubleArray (أي مصفوفة من الأعداد العشرية المضاعفة [double]) بحجم معين، وتحوي قيمًا محدَّدة أو القيم 0. الخاصيات size تمثِّل الخاصيّة DoubleArray.size عدد العناصر الموجودة في المصفوفة ذات النوع DoubleArray. الدوال get تجلب الدالة get() عنصرًا ذي فهرس محدد من المصفوفة. iterator تنشئ الدالة iterator() عنصرًا تكراريًّا (iterator) لتكرار بنيةٍ (block) برمجيةٍ على كافّة عناصر المصفوفة المستدعاة معه. set تضبط الدالة set() قيمة عنصر ذي ...
الصنف FloatArray في Kotlin
يمثل الصنف FloatArray مصفوفةً من الأعداد العشرية. إن كانت منصة التشغيل المستهدفة هي JVM، فيمكن تمثيل نُسَخ هذا الصنف بالشكل []float. class FloatArray
الدوال البانية <init> تنشئ الدالة FloatArray() البانية مصفوفة جديدة من النوع FloatArray (أي مصفوفة من الأعداد العشرية) بحجم معين، وتحوي قيمًا محدَّدة أو القيم 0. الخاصيات size تمثِّل الخاصيّة FloatArray.size عدد العناصر الموجودة في المصفوفة ذات النوع FloatArray. الدوال get تجلب الدالة get() عنصرًا ذي فهرس محدد من المصفوفة. iterator ينشئ الدالة iterator() عنصرًا تكراريًّا (iterator) لتكرار بنيةٍ (block) برمجيةٍ على كافّة عناصر المصفوفة المستدعاة معه. set تضبط الدالة set() قيمة عنصر ذي ...
الصنف BooleanArray في Kotlin
يمثل الصنف BooleanArray مصفوفةً من القيم المنطقية. إن كانت منصة التشغيل المستهدفة هي JVM، فيمكن تمثيل نُسَخ هذا الصنف بالشكل []boolean. class BooleanArray
الدوال البانية init تنشئ الدالة BooleanArray() البانية مصفوفة جديدة من الصنف BooleanArray بحجم معين تحوي قيمًا منطقية محدَّدة أو القيمة false المنطقية. الخاصيات size تمثِّل الخاصيّة size عدد العناصر الموجودة في المصفوفة. الدوال get يجلب التابع get() عنصرًا ذي فهرس محدد من المصفوفة. iterator ينشئ التابع iterator() عنصرًا تكراريًّا (iterator) لتكرار بنيةٍ (block) برمجيةٍ على كافّة عناصر المصفوفة المستدعاة معه. set يضبط التابع set() قيمة عنصر ذي فهرس محدد موجود ...
الصنف BooleanArray في Kotlin
يمثل الصنف BooleanArray مصفوفةً من القيم المنطقية. إن كانت منصة التشغيل المستهدفة هي JVM، فيمكن تمثيل نُسَخ هذا الصنف بالشكل []boolean. class BooleanArray
الدوال البانية init تنشئ الدالة BooleanArray() البانية مصفوفة جديدة من الصنف BooleanArray بحجم معين تحوي قيمًا منطقية محدَّدة أو القيمة false المنطقية. الخاصيات size تمثِّل الخاصيّة size عدد العناصر الموجودة في المصفوفة. الدوال get يجلب التابع get() عنصرًا ذي فهرس محدد من المصفوفة. iterator ينشئ التابع iterator() عنصرًا تكراريًّا (iterator) لتكرار بنيةٍ (block) برمجيةٍ على كافّة عناصر المصفوفة المستدعاة معه. set يضبط التابع set() قيمة عنصر ذي فهرس محدد موجود ...
الصنف ByteArray في Kotlin
يمثل الصنف ByteArray مصفوفةً من البايتات. إن كانت منصة التشغيل المستهدفة هي JVM، فيمكن تمثيل نُسَخ هذا الصنف بالشكل []byte. class ByteArray
الدوال البانية <int> تنشئ الدالة ByteArray() البانية مصفوفة جديدة من النوع ByteArray (أي حجم كل عنصر منها بايتًا واحدًا) بحجم معين، إذ تحوي قيمًا محدَّدة أو القيم 0. الخاصيات size تمثِّل الخاصيّة size عدد العناصر الموجودة في المصفوفة ذات النوع ByteArray. الدوال get يجلب التابع get() عنصرًا ذي فهرس محدد من المصفوفة. iterator ينشئ التابع iterator() عنصرًا تكراريًّا (iterator) لتكرار بنيةٍ (block) برمجيةٍ على كافّة عناصر المصفوفة المستدعاة معه. set يضبط التابع set() قيمة ...
عرض (500 السابقة | 500 التالية) (20 | 50 | 100 | 250 | 500).