نتائج البحث
اذهب إلى التنقل
اذهب إلى البحث
الكلمة المحجوزة inherit
الكلمة المحجوزة inherit في CSS تؤدي إلى جعل العنصر يأخذ القيمة المحسوبة لهذه الخاصية من العنصر الأب، ويمكن تطبيق هذه القيمة على جميع خاصيات CSS بما في ذلك خاصية all المختصرة. إذا كانت الخاصية موروثة، فيمكن استخدام هذه القيمة للتوضيح أو لتجاوز قيمة قاعدة أخرى، أما للخاصيات غير الموروثة، فستجد أنَّ من غير المنطقي استخدام هذه القيمة وربما تضع بالحسبان استخدام الكلمة المحجوزة initial. لاحظ أنَّ الوراثة تكون من العنصر الأب في شجرة المستند دومًا، حتى لو لم يكن العنصر ...
الأصناف (Classes) والوراثة (Inheritance) في لغة Kotlin
تُستخدم الكلمة المفتاحيّة class للتصريح (declaration) عن الصنف بالصيغة الآتية (اسم الصنف Invoice): class Invoice {
}
ويحتوي التصريح على اسم الصنف (class name) وترويسة الصنف (class header) (والتي تُحدِّد معاملات النوع والباني الأساسيّ ...إلخ.) وبُنية الصنف (class body) محاطةً بالقوسين {}، وإن كلًا من ترويسة الصنف وبُنيته اختياريتان؛ فإذا كان الصنف خاليًا لا حاجة للأقواس، مثل: class Empty
الباني (Constructor) يوجد لكلّ صنف في لغة Kotlin بانٍ رئيسيّ (primary) واحدٌ وبانٍ -أو أكثر- ثانويّ (secondary)، إذ يُعدُّ الباني الرئيسيّ جزءًا من ...
التابع inherited في الصنف Class في روبي
يُستدعَى التابع inherited كرد نداء في كل مرة يُنشأ فيها صنف فرعي (subclass) من الصنف الحالي. البنية العامة inherited(subclass)
أمثلة مثال على استخدام التابع inherited: class Foo
def self.inherited(subclass)
puts "New subclass: #{subclass}"
end
end
class Bar < Foo
end
class Baz < Bar
end
انظر أيضًا التابع new: يُنشئ صنفًا جديدًا مجهولًا غير مسمى (unnamed) من الصنف الأب (superclass) الممرر إليه (أو من الصنف Object إن لم يمرر إليه أي شيء). التابع allocate: يحجز مساحةً من الذاكرة لكائن جديد من الصنف class ...
الهيكلية التفرعية للوراثة (Parallel Inheritance Hierarchies)
توصيف المشكلة يتطلَّب إنشاءُ صنفٍ فرعيٍّ (subclass) لأحد الأصناف إنشاءَ صنفٍ فرعيٍّ ثانٍ لصنفٍ آخر غيره. أسبابها لا تبدو المشكلة واضحةً في الهيكليّات (hierarchies) الصغيرة، ولكنها تبدأ بالظهور مع إضافة أصناف (classes) جديدةٍ ممّا يجعل إجراء التعديلات أمرًا صعبًا. وما الحل؟ التخلُّص من التكرار التفرعيّ بين الهيكليّتين (hierarchies)، ويتمّ بخطوتين: إنشاء مرجعيّة (reference) من إحدى الهيكليّتين التفرعيّتين إلى الهيكليّة الثانية. إزالة الهيكليّة في الصنف المُشار إليه (referred class)، وذلك بنقل التوابع (move methods) ونقل الحقول (move fields). إليك المزيد ستحصل ...
استبدال التفويض بالتوريث (Replace Delegation with Inheritance)
المشكلة يحتوي الصنف على العديد من التوابع البسيطة التي تفوِّض إلى كل التوابع في صنفٍ آخر. الحل جعل الصنف مفوِّض وارث، الأمر الذي يجعل تابع التفويض غير ضروري. مثال قبل إعادة التصميم التابع الموجود في الصنف Employee مفوَّض إلى التابع ()getName في الصنف Person: يحتوي الصنف على العديد من التوابع البسيطة التي تفوِّض إلى كل التوابع في صنفٍ آخر. بعد إعادة التصميم جعل الصنف Employee يرث من الصنف Person والتخلص من التفويض: أصبح الصنف مفوِّض وارث، الأمر الذي يجعل تابع ...
الصنف 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) الثابت المعرف في ...
الواجهة Annotation في Kotlin
هي الواجهة الأساسيّة التي يُعرَّف استخدامها (implemented) ضمنيًا في جميع واجهات التوصيفات (annotation interfaces)، وللمزيد من التفاصيل راجع التوصيفات (annotations) في لغة Kotlin. interface Annotation
الدوال المورثة (Inherited Functions) equals تتحقق الدالة equals() إذا ما كان الكائن المُمرّر إليها يساوي الكائن الذي استدعيت معه. hashCode تعيد الدالة hashCode() الشيفرة Hash الخاصّة بالكائن الذي استُدعي معها. toString تحول الدالة toString() الكائن الذي يُستدعى معه إلى سلسلة نصية (String). الخاصيات الإضافية (Extension Properties) annotationClass تُستخدَم هذه الخاصيّة للحصول على نسخةٍ (instance) من الصنف KClass بحسب نوع التوصيف الحاليّ. ...
الصنف Destructured في Kotlin
يوفر الصنف Destructured مركبات الإسناد بالتفكيك (destructuring assignment) لمجموعة من القيم. يسمح الإسناد بالتفكيك باستخراج القيم الموجودة في المصفوفات أو المجموعات أو خاصيات أحد الكائنات ...إلخ. إلى متغيرات مستقلة. تطابق الدالة component1 قيمة المجموعة الأولى، وتطابق الدالة component2 قيمة المجموعة الثانية، وهلم جرًا. إن كانت المجموعة في التعبير النمطي اختيارية ولم ترصد هذه المجموعة أي عملية تطابق تُذكر، فيمكن حينئذٍ أن تساوي قيمة المكون المقابل لهذه المجموعة سلسلةً نصيةً فارغةً. class Destructured
الخاصيات match الدوال component1 component2 component3 component4 component5 component6 component7 ...
الصنف Destructured في Kotlin
يوفر الصنف Destructured مركبات الإسناد بالتفكيك (destructuring assignment) لمجموعة من القيم. يسمح الإسناد بالتفكيك باستخراج القيم الموجودة في المصفوفات أو المجموعات أو خاصيات أحد الكائنات ...إلخ. إلى متغيرات مستقلة. تطابق الدالة component1 قيمة المجموعة الأولى، وتطابق الدالة component2 قيمة المجموعة الثانية، وهلم جرًا. إن كانت المجموعة في التعبير النمطي اختيارية ولم ترصد هذه المجموعة أي عملية تطابق تُذكر، فيمكن حينئذٍ أن تساوي قيمة المكون المقابل لهذه المجموعة سلسلةً نصيةً فارغةً. class Destructured
الخاصيات match الدوال component1 component2 component3 component4 component5 component6 component7 ...
الصنف 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() بين قيمة العنصر الذي استُدعيت عبره ...
الواجهة MatchResult في Kotlin
تمثل الواجهة MatchResult نتائج مطابقة واحدة لتعبير نمطي. interface MatchResult
الأنواع Destructured يوفر هذا الصنف مركبات الإسناد بالتفكيك (destructuring assignment) لمجموعة من القيم. الخاصيات destructured تمثل هذه الخاصية نسخةً من الصنف Destructured توفّر مكونات عملية الإسناد بالتفكيك (destructuring assignment) التي تطبق على قيم المجموعة المُطابقة. groupValues تمثل هذه الخاصية قائمة بقيم المجموعة المفهرسة المتطابقة. groups تمثل هذه الخاصية مجموعةً (collection) تضم جميع المجموعات (groups) المتطابقة باستعمال تعبير نمطي محدد. range تمثل هذه الخاصية مجال الفهارس الذي يحدد مكان مُطابقة تعبير نمطي محدد في السلسلة النصية الأصلية. value تمثل هذه الخاصية السلسلة النصية المُدخلة، أو ...
الواجهة MatchResult في Kotlin
تمثل الواجهة MatchResult نتائج مطابقة واحدة لتعبير نمطي. interface MatchResult
الأنواع Destructured يوفر هذا الصنف مركبات الإسناد بالتفكيك (destructuring assignment) لمجموعة من القيم. الخاصيات destructured تمثل هذه الخاصية نسخةً من الصنف Destructured توفّر مكونات عملية الإسناد بالتفكيك (destructuring assignment) التي تطبق على قيم المجموعة المُطابقة. groupValues تمثل هذه الخاصية قائمة بقيم المجموعة المفهرسة المتطابقة. groups تمثل هذه الخاصية مجموعةً (collection) تضم جميع المجموعات (groups) المتطابقة باستعمال تعبير نمطي محدد. range تمثل هذه الخاصية مجال الفهارس الذي يحدد مكان مُطابقة تعبير نمطي محدد في السلسلة النصية الأصلية. value تمثل هذه الخاصية السلسلة النصية المُدخلة، أو ...
Kotlin/Topics
بُنية لغة Kotlin مشابهةٌ لبنية لغة البرمجة Java بوصفها كائنيّة التوجه (OOP)، وبالتالي فهي تعتمد أساسًا على وجود الأصناف (classes) التي تحتوي بدورها على الخاصّيّات (properties) والدوال (functions)، كما وتدعم Kotlin العلاقات فيما بينها مثل الوراثة (inheritance) من صنفٍ أعلى (superclass) أو التداخل فيما بينها (nesting classes)، وتمتاز بوجود مُحدِّدات الوصول (visibility modifiers) للتحكم بعمليات الوصول للبيانات المُخزَّنة، وكذلك فهي تعتمد في بُنيتها على الحزم (packages) والمكتبات (libraries) التي تحتوي على الدوال المساعدة عند الحاجة إليها، أمّا عن بُنية التعليمات ...
الصنف Regex في Kotlin
يمثل الصنف Regex تعبيرًا نمطيا قابلًا للتعديل (immutable regular expression). إن أردت الاطلاع على المزيد من المعلومات المتعلقة بصياغة النمط (pattern)، انتقل إلى صفحة الصنف Pattern. actual class Regex : Serializable
الدوال البانية <init> تنشئ الدالة Regex() تعبيرًا نمطيًا (regular expression) انطلاقًا من السلسلة النصية المُمرّرة إليه. الخاصيات options تمثل هذه الخاصية مجموعةَ الخيارات التي استُخدمت في إنشاء التعبير النمطي الذي استُدعي معها. pattern تمثل هذه الخاصية النمط الأولي الذي استُخدم في إنشاء التعبير النمطي الذي استُدعي معها. الدوال containsMatchIn ...
الصنف Regex في Kotlin
يمثل الصنف Regex تعبيرًا نمطيا قابلًا للتعديل (immutable regular expression). إن أردت الاطلاع على المزيد من المعلومات المتعلقة بصياغة النمط (pattern)، انتقل إلى صفحة الصنف Pattern. actual class Regex : Serializable
الدوال البانية <init> تنشئ الدالة Regex() تعبيرًا نمطيًا (regular expression) انطلاقًا من السلسلة النصية المُمرّرة إليه. الخاصيات options تمثل هذه الخاصية مجموعةَ الخيارات التي استُخدمت في إنشاء التعبير النمطي الذي استُدعي معها. pattern تمثل هذه الخاصية النمط الأولي الذي استُخدم في إنشاء التعبير النمطي الذي استُدعي معها. الدوال containsMatchIn ...
الانتقال الفرعيّ Delegation في Kotlin
أثبت نموذج الانتقال الفرعيّ فعّاليته كبديلٍ جيّدٍ عن وراثة تعريف الاستخدام (implementation inheritance) إذ تدعم لغة Kotlin هذه الميّزة بشكلٍ طبيعيّ دون الحاجة إلى أيّ نوع قياسيّ من الشيفرات، وبالتالي فإنّ الصنف المُشتقّ (Derived) يرِث من الواجهة (Base) وينقل فرعيًا (delegate) كلَّ توابعه العامّة (public methods) إلى كائنٍ مُحدَّدٍ، كما في الشيفرة الآتية: interface Base {
fun print()
}
class BaseImpl(val x: Int) : Base {
override fun print() { print(x) }
}
class Derived(b: Base) : Base ...
أصناف البيانات (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 بما ...
الأصناف المُغلَقة (Sealed Classes) في لغة Kotlin
تُستخدَم الأصناف المُغلَقة لتمثيل الهرميّة (hierarchy) المحدودة للأصناف؛ وذلك عندما يكون نوع القيمة هو أحد الأنواع الموجودة في مجموعةٍ مُحدَّدةٍ (limited set) وليس أيّ نوع آخر، وبالتالي تُعدُّ هذه الأصناف إضافةً (extension) لأصناف الثوابت المُتعدَّدة (enum classes)، إذ إنّ مجموعة القيم لنوع enum محدودة أيضًا ولكل ثابت فيها نسخةٌ (instance) واحدةٌ فقط، بينما يمكن أن يكون للصنف الفرعيّ (subclass) من الصنف المغلق أكثر من نسخةٍ تحتوي على الحالة (case). ويُستخدَم المُحدِّد (modifier) sealed قبل اسم الصنف للتصريح عن أنّه من ...
الإضافات (Extensions) في لغة Kotlin
الإضافات (Extensions) توفِّر لغة Kotlin -كما هو الحال في لغات البرمجة مثل C# و Gosu- إمكانيّة الإضافة على الأصناف (classes) بوظائف جديدةٍ دون اللجوء إلى الوراثة (inheritance) منها أو استخدام أيّ أنماطٍ تصميميّةٍ مثل Secorator، وذلك من خلال تصريحات خاصّة تُدعى الإضافات (extensions)، إذ تدعم لغة Kotlin الدوال الإضافيّة (extension functions) والخاصّيّات الإضافيّة (extension properties). الدوال الإضافيّة (Extension Functions) لتعريف دالةٍ إضافيّةٍ يجب أن يُسبَق اسمها بنوع المستقبِل (receiver type) أي النوع الذي ستتمّ الإضافة عليه، ففي الشيفرة الآتية تُضاف ...
الكلمة المحجوزة unset
الكلمة المحجوزة unset في CSS تُعيد ضبط قيمة الخاصية إلى قيمتها المورثة إن ورثت القيمة من العنصر الأب، أو إلى قيمتها الابتدائية إن لم ترثها؛ بصياغة أخرى، ستسلك هذه الكلمة المحجوزة سلوك inherit في الحالة الأولى، وسلوك initial في الحالة الثانية، ويمكن استخدام على جميع خاصيات CSS، بما في ذلك خاصية all المختصرة. أمثلة إعادة ضبط قيمة الخاصية color للعنصر <p> الموجود داخل العنصر <div> ذو الصنف bar إلى قيمتها الموروثة، ألا وهي green؛ أي كأننا ضبطنا قيمة الخاصية color إلى الكلمة ...
الكلمة المحجوزة initial
الكلمة المحجوزة initial في CSS تُطبِّق القيمة الابتدائية للخاصية على العنصر، ويمكن استخدام على جميع خاصيات CSS، بما في ذلك خاصية all المختصرة. لاحظ أنَّ القيمة الابتدائية في الخاصيات التي ورثت قيمها عن آبائها قد تكون مُفاجئة لك، لذا قد ترى أنَّ استخدام إحدى الكلمات المحجوزة inherit أو unset أو revert مناسبٌ أكثر. أمثلة مثال عن ضبط لون الفقرة <p> إلى اللون الأحمر، ثم استخدام الكلمة المحجوزة initial على العنصر <em> لإعادة قيمة الخاصية color إلى قيمتها الابتدائية (اللون الأسود). ...
الواجهة 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). الدوال ...
الواجهة 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). الدوال ...
المُنشِئ الحافظ للنوع (Type-Safe Builder) في لغة Kotlin
المُنشِئ الحافظ للنوع (Type-Safe Builder) يُتاح بناءُ المُنشِئ الستاتيكيّ الحافظ للنوع في لغة Kotlin باستخدام الدوال ذات التسمية المعبِّرة كمُنشِئ (builder) بالإضافة إلى قيم حرفية (literals) للدوال مع المستقبِل (receiver)، إذ يسمح المُنشِئ الحافظ للنوع ببناء لغات مُخصَّصة المجال (DSL) بالاعتماد على Kotlin بما يتناسب مع إنشاء بُنى البيانات الهرميّة المعقَّدة بطريقةٍ نصف تصريحية (semi-declarative)، وهذه بعض الأمثلة من حالات استخدامه: توليد ترميزٍ (markup) باستخدام شيفرة Kotlin مثل HTML أو XML تصميم أجزاء واجهات المستخدم (UI) برمجيًا مثل Anko ضبط ...
التابع Module.const_get في روبي
يتحقق التابع const_get من وجود ثابت باسم محدد في الوحدة التي استُدعي معها. في حال تعيين المعامل inherit، فسيشمل البحث الأسلاف أيضًا (وكذلك Object إن كانت الوحدة من النوع Module). تُعاد قيمة الثابت إذا عُثر على تعريف له؛ خلا ذلك، سيُطلق الخطأ NameError. Math.const_get(:PI) #=> 3.14159265358979
سيبحث التابع const_get بشكل تكراري (recursively) عن أسماء الثوابت إذا تم توفير اسم صنف من مجال أسماء (namespaced class name). اطلع مثلًا على المثال التالي: module Foo; class Bar; end end
Object.const_get 'Foo::Bar'
تؤخذ الراية inherit بالحسبان ...
الصنف 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) ...
الدوال (Functions) في لغة Kotlin
التصريح عن الدوال (Function Declarations) يُصرَّح عن الدوال في لغة Kotlin باستخدام الكلمة المفتاحيّة fun كما يلي: fun double(x: Int): Int {
return 2 * x
}
استخدام الدوال (Function Usage) يكون استدعاء الدوال كما في أيّ لغة برمجةٍ أخرى بالشكل: val result = double(2)
أمّا استدعاء الدوال من الأصناف فيعتمد على المعامل . كما في الشيفرة: Sample().foo() // إنشاء كائنٍ من الصنف واستدعاء الدالة عبره
المعاملات (Parameters) تُعرَّف المعاملات بالصيغة المُعتمدَة في لغة Pascal وهي name: type ، ...
القيمة المستخدمة
القيمة المستخدمة (used value) لإحدى خاصيات CSS هي القيمة النهائية لتلك الخاصية بعد إجراء جميع الحسابات اللازمة. بعد أن ينتهي المتصفح من إجراء حساباته، فسيكون لكل خاصية لها مُستخدَمة، والقيم المستخدمة للخاصيات المتعلقة بالأبعاد (مثل width أو line-height) ستكون بواحدة البكسل، أما القيم المستخدم للخاصيات المختصرة (مثل background) فستحتوي على قيم الخاصيات الفرعية (مثل background-color). تفاصيل عن القيمة المستخدمة هنالك أربع خطوات لحساب القيمة النهاية لخاصيات CSS، فأول خطوة تتضمن الحصول على القيمة المُحدَّدة التي تأتي من أعلى قاعدة تحديدًا؛ ...
أنواع البيانات (Data Types) في Kotlin
إن كلَّ عنصرٍ في Kotlin يعد كائنًا إذ يمكن استدعاء الدوال (member functions) والخاصّيّات (properties) عبر أي متغيِّر (variable)، ولبعض الأنواع تمثيلها الداخلي الخاص بها؛ فعلى سبيل المثال تُمثَّل الأعداد والمحارف والقيم المنطقية (boolean) كقيمٍ أساسيّةٍ أثناء التشغيل (runtime) ولكنها بالنسبة للمستخدم مجرّد أصنافٍ عادية، وتناقش هذه الصفحة الأنواع الرئيسيّة للبيانات في Kotlin وهي: الأعداد، والمحارف، والقيم المنطقية (boolean)، والمصفوفات، والسلاسل النصيّة. الأعداد (Numbers) تتعامل لغة Kotlin مع البيانات العدديّة بطريقةٍ مماثلةٍ للغة Java ولكن بفوارق بسيطة، فلا تدعم مثلًا ...
CSS/Topics/Misc
العنصر الوصف --* أسماء الخاصيات التي تُسبَق بشرطتين --، مثل --example-name، تُمثِّل الخاصيات المخصصة (custom properties) التي تُسنَد لها قيمة يمكن إعادة استخدامها في المستند عبر الدالة var(). attr() الدالة attr() في CSS تُستعمَل للحصول على قيمة إحدى خاصيات العنصر المُحدَّد واستخدامها في أنماط CSS، ويمكن استعمالها أيضًا على العناصر الزائفة (pseudo-elements) وفي هذه الحالة ستُستخدَم قيمة خاصية العنصر الأصل. calc() الدالة calc() في CSS تسمح بإجراء عمليات حسابية عند تحديد قيم خاصيات CSS، ويمكن استخدامها في أي موضع يُسمَح فيه باستخدام أنواع البيانات<length> و <percentage> و <angle> و <time> و <number> و<integer>. inherit الكلمة المحجوزة inherit في ...
الدالة not() في Kotlin
تعكس الدالة not() القيمة المنطقيَّة المستدعاة معها. يمكن استعمال المعامل ! عوضًا عن هذه الدالة. البنية العامة operator fun not(): Boolean
المعاملات other القيمة المنطقية الأخرى التي ستطبق عليها العملية. القيمة المعادة يعاد عكس القيمة المنطقية المعطاة. أمثلة استخدام الدالة ()not لعكس قيمة منطقية معينة: fun main(args: Array<String>) {
val x = true
println(x.not()) // false
println(!x) // false
}
انظر أيضًا الدالة and(): تجري العملية and المنطقية ...
الدالة or() في Kotlin
تجري الدالة or() العملية or المنطقية بين قيمتين منطقيتين؛ خلافًا للمعامل ||، تتحقق هذه الدالة من كلا القيمتين المنطقيتين. البنية العامة infix fun or(other: Boolean): Boolean
وجود الكلمة المفتاحية infix يدل على أنَّ هذه الدالة يمكن استدعاؤها بنمط التدوين الداخليّ (infix notation)؛ أي من خلال حذف المعامل . والأقواس () المُستخدَمَين في الاستدعاء عادةً. المعاملات other القيمة المنطقية الأخرى التي ستطبق عليها العملية. القيمة المعادة تعاد قيمة منطقية تكون ناتج إجراء العملية or على القيمتين المعطيتين. أمثلة استخدام الدالة ()or لتطبيق العملية or على قيمتين منطقيتين: fun ...
الدالة and() في Kotlin
تجري الدالة and() العملية and المنطقية بين قيمتين منطقيتين؛ خلافًا للمعامل &&، تتحقق هذه الدالة من كلا القيمتين المنطقيتين. البنية العامة infix fun and(other: Boolean): Boolean
وجود الكلمة المفتاحية infix يدل على أنَّ هذه الدالة يمكن استدعاؤها بنمط التدوين الداخليّ (infix notation)؛ أي من خلال حذف المعامل . والأقواس () المُستخدَمَين في الاستدعاء عادةً. المعاملات other القيمة المنطقية الأخرى التي ستطبق عليها العملية. القيمة المعادة تعاد قيمة منطقية تكون ناتج إجراء العملية and على القيمتين المعطيتين. أمثلة استخدام الدالة ()and لتطبيق العملية and على قيمتين منطقيتين: fun ...
Kotlin/Native
ما هي تقنية Kotlin/Native؟ تُستخدَم تقنية Kotlin/Native لترجمة شيفرات Kotlin إلى الصيغة الثنائيّة الأساسيّة (native binaries) والتي لا تتطلَّب آلةً افتراضيّة (virtual machine) لتشغيلها، وتشمل كلًا من المعالجات الخلفيّة (أو السند الخلفي [backend]) المعتمدة على تقنيات مكتبة LLVM للمترجِم (compiler) وكذلك تعريف الاستخدام الأساسيّ (native implementation) من مكتبة التشغيل (runtime) في Kotlin، وقد صُمّمت هذه التقنية للسماح بالترجمة في منصّات العمل التي تكون فيها الآلات الافتراضيّة غير متاحةٍ أو مرغوبةٍ (مثل أنظمة iOS والأهداف المدمجة [embedded targets])، أو عندما يحتاج ...
الدالة to() في Kotlin
تنشئ الدالة to() عنصرًا من النوع Pair مكونًا من الكائن الذي استُدعي معه والمعامل الذي مُرّر إليه، أي العنصر that. البنية العامة infix fun <A, B> A.to(that: B): Pair<A, B>
يُلاحَظ وجود الكلمة المفتاحية infix للدلالة على أن هذه الدالة يمكن استدعاؤها بنمط التدوين الداخليّ (infix notation)؛ أي من خلال حذف المعامل . والأقواس () المُستخدَمَين في الاستدعاء عادةً، وللمزيد من التفاصيل راجع توثيق التدوين الداخلي للدوال (infix functions). المعاملات that الكائن المراد استعماله مع الكائن المعطى في إنشاء كائن من ...
التابع Module.const_defined? في روبي
يتحقق التابع const_defined? مما إذا كانت الوحدة التي استُدعي معها أو أحد أسلافها (ancestors) تحوي الثابت المعطى. Float.const_defined?(:EPSILON) #=> true, found in Float itself
Float.const_defined?("String") #=> true, found in Object (ancestor)
BasicObject.const_defined?(:Hash) #=> false
إذا كانت الوحدة من النوع Module، فسيتم إضافة إلى ذلك فحص Object وكذلك أسلافه. Math.const_defined?(:String) #=> true, found in Object
في كل الأصناف أو الوحدات المفحوصة، إذا لم يكن الثابت موجودًا وكان التحميل التلقائي (autoload) مفعلًا له، ...
الصنف Class في روبي
تُعدُّ الأصناف كائناتٍ من الدرجة الأولى (first-class objects) في روبي، وتعدُّ جميعها نُسخٌ من الصنف Class. عادةً، يمكن عادةً إنشاء صنف جديد بالشكل التالي: class Name
# تكتب هنا الشيفرة التي تعرف سلوك الصنف
end
عندما يُنشَأ صنف جديد، يهيَّأ كائن من النوع Class ويسند إلى ثابت عام (global constant، هو Name في المثال السابق). عند استدعاء Name.new لإنشاء كائن جديد، يُنفَّذ التابع new الخاص بالصنف Class بشكل افتراضي. يمكن إثبات ذلك من خلال إعادة تعريف التابع new: class Class
alias old_new ...
القيمة المحسوبة
القيمة المحسوبة (computed value) لإحدى خاصيات CSS تُحسَب من القيمة المُحدَّدة كما يلي: التعامل مع القيم الخاصة inherit و initial. إجراء الحسابات اللازمة للوصول إلى القيمة الموصوفة في الجدول الموجود في صفحة الخاصيات بعنوان «القيمة المحسوبة» (والمأخوذ من المواصفة). العمليات الحسابية المطلوبة للوصول إلى القيمة المحسوبة للخاصية قد تتضمن تحويل الواحدات النسبية (مثل em أو النسبة المئوية <percentage>) إلى أطوال مطلقة. على سبيل المثال، إذا كان للعنصر القيمة 16px للخاصية font-size، والقيمة 2em للخاصية padding-top، فإنَّ القيمة المحسوبة للخاصية padding-top ...
الارتباط الوثيق غير المناسب (Inappropriate Intimacy)
توصيف المشكلة استخدام أحد الأصناف (class) الحقولَ (fields) والتوابعَ (methods) الداخليّة لصنفٍ آخر بكثرة. أسبابها تعاملُ الأصناف (classes) مع بعضها بكثرةٍ، وهذا ما يجب أن تكون على درايةٍ به، إذ إنّ التصميم الجيّد يشترط الحدَّ من التواصل فيما بينها ما أمكن، وهذا سيسهِّل صيانتها (maintenace) وإعادة استخدامها (reuse). وما الحل؟ نقلُ التوابع (move methods) ونقل الحقول (move fields) من الصنف الحاليّ إلى الصنف الآخر الذي تُستخدَم فيه، وهو الحلُّ الأبسط عندما لا يحتاج الصنف الأول تلك الحقول والتوابع المنقولة. استخراج ...
التعامل مع التعميم (Dealing with Generalization)
يملك التجريد (Abstraction) تقنيات إعادة التصميم الخاصة به والمرتبطة بشكل أساسي بوظيفة النقل على طول التسلسل الهرمي لوراثة الصنف (class inheritance hierarchy)، وبإنشاء أصناف وواجهات جديدة، وبتبديل التفويض مكان الوراثة أو العكس. تقنيات هذا القسم هي: استخراج الأصناف الفرعية (Extract Subclass) المشكلة: يكون للصنف ميزات تستعمل فقط في حالات معينة. الحل: إنشاء صنف فرعي واستخدامه في هذه الحالات. استخراج الأصناف الفائقة (Extract Superclass) المشكلة: وجود صنفين لهما حقول وتوابع مشتركة. الحل: إنشاء صنف أب مشترك لهما ونقل جميع الحقول والتوابع ...
الخاصية text-emphasis-color
الخاصية text-decoration-color في CSS تُحدِّد اللون المستخدم لرسم علامة التوكيد (emphasis mark) المستخدمة على كل محرف نصي في العنصر؛ يمكن ضبط قيمة هذه الخاصية باستعمال الخاصية المختصرة text-emphasis. بطاقة الخاصية القيمة الابتدائية currentcolor تُطبَّق على جميع العناصر. قابلة للوراثة لا قابلة للتحريك نعم الوسائط مرئية القيمة المحسوبة القيمة اللونية المحسوبة. /* القيمة الابتدائية */
text-emphasis-color: currentColor;
/* <color> */
text-emphasis-color: #555;
text-emphasis-color: blue;
text-emphasis-color: rgba(90, 200, 160, 0.8);
text-emphasis-color: transparent;
/* القيم العامة */
text-emphasis-color: inherit;
text-emphasis-color: initial;
text-emphasis-color: unset;
أمثلة مثال عن استخدام الخاصية text-emphasis-color على العنصر <strong> مع الخاصية ...
الوراثة الفائضة (Refused Bequest)
توصيف المشكلة استفادة الصنف الفرعيّ (subclass) من القليل فقط ممّا ورِثه عن الصنف الأعلى (superclass) من توابعَ (method) وحقولٍ (fields)، لتبقى التوابع الأخرى غيرَ مُستخدَمةٍ أو قد يُعاد تعريفها (redefined) مع الكثير من الاختلافات. أسبابها إنشاء علاقة الوراثة (inheritance) ما بين صنفين مختلفين كليًّا بدافع إعادة استخدام الشيفرة الموجودة في الصنف الأعلى (superclass) في الصنف الفرعيّ (subclass). وما الحل؟ إن لم يشترك الصنف الفرعيّ (subclass) مع الصنف الأعلى (superclass) بشيءٍ، فالوراثة غير منطقيّةٍ بالأصل، والأفضلُ التخلي عنها بتبديلها إلى تفويض ...
أسئلة شائعة عن لغة Kotlin
ما هي لغة Kotlin؟ تُعدُّ Kotlin إحدى لغات البرمجة مفتوحة المصدر (OSS) والمكتوبة ستاتيكيًّا، وتستهدف كلًا من بيئة JVM و Android و JavaScript و Native، وقد طُوِّرت من قِبل شركة JetBrains بدءًا من العام 2010 حيث كانت مفتوحة المصدر منذ بداياتها الأولى، ونٌشر الإصدار الرسميّ Kotlin 1.0 في الشهر الثاني (شباط) من عام 2016. ما النسخة الحاليّة للغة Kotlin؟ نٌشر الإصدار الأخير للغة Kotlin في الأوّل من الشهر الثالث (آذار) من عام 2018 وهو الإصدار Kotlin 1.2.30. هل Kotlin مجانيّة؟ ...
استخدام لغة Kotlin للتطوير في بيئة Android
تُعدُّ لغة Kotlin أداةً مناسبةً لتطوير تطبيقات Android لأنّها تزوِّد بمنصةٍ للعمل في نظام Android بميّزات لغات البرمجة الحديثة بدون فرض أي قيودٍ جديدة. ميزات استخدام لغة Kotlin للتطوير في بيئة Android التوافقيّة (Compitability): تتوافق لغة Kotlin كليًّا مع بيئة JDK6، وبهذا تتيح تشغيل التطبيقات المكتوبة بلغة Kotlin على الأجهزة ذات الإصدارات الأقدم من أنظمة Android بدون أي مشاكل تُذكر، كما وتدعم برمجيةُ Android Studio أدوات لغة Kotlin بشكلٍ تامّ ومتوافقٍ مع أنظمة بناء Android. الأداء (Performance): تعمل التطبيقات المكتوبة ...
استخدام لغة Kotlin في نطاق JavaScript
تتيح لغة Kotlin إمكانيّة استهداف لغة JavaScript من خلال تحويل (transpiling) شيفرات Kotlin إلى ما يماثلها في JavaScript ؛ إذ تستهدف بالوقت الحاليّ معيارECMAScript 5.1، ومن المُخطَّط له أيضًا التوافق مع معيار ECMAScript 2015 لاحقًا. عند استخدام لغة Kotlin بهدف كتابة شيفرات JavaScript فستُحوَّل الشيفرات المكتوبة بلغة Kotlin (بعدِّها جزءًا من المشروع والمكتبة القياسيّة في Kotlin) إلى شيفرة JavaScript، ولكنّ هذا لا يشمل أيًّا ممّا يتعلَّق ببيئة JDK أو JVM أو Java أو أيّ من منصّاتها أو مكتباتها المُستخدَمة، ويُستبعَد ...
استخدام لغة Kotlin في تطوير تطبيقات الخادم (Server)
تُعدّ لغة Kotlin أداةً قويةً في تطوير تطبيقات الخادم (server)؛ إذ تكون الشيفرات فيها دقيقةً ومعبِّرة، وتمتاز بالتوافقيّة التامّة مع لغة Java ومن السهل تعلُّمها بسرعة. ميزات استخدام لغة Kotlin لتطوير تطبيقات الخادم (Server) القدرة على التعبير (Expressiveness): تساعد مميّزات لغة Kotlin المبتكرَة (مثل دعمها للمنشِئ الحافظ للنوع (type-safe builder) والخاصّيات المُعمّمة (delegated properties)) على إنشاء البنى التجريديّة (abstraction) سهلةِ الاستخدام. قابلية التوسّع (Scalability): تدعم لغة Kotlin ميّزة الروتينات المساعدة (coroutines)، وهي بهذا تتيح -في تطبيقات الخادم- إمكانيّة التوسّع لعددٍ ...
الدالة Char.compareTo() في Kotlin
توازن الدالة compareTo() بين قيمة المحرف الذي استُدعي معها والقيمة المُمرّرة إليها ثمَّ تعيد القيمة 0 إن كانا متساويين، أو قيمة سالبة إن كانت القيمة الأولى (قيمة المحرف الذي استُدعي معها) أصغر من القيمة الثانية، أو قيمة موجبة إن كانت القيمة الأولى أكبر من القيمة الثانية. البنية العامة fun compareTo(other: Char): Int
المعاملات other المحرف الآخر الذي يراد موازنته مع المحرف المعطى. القيمة المعادة تعاد القيمة 0 إن كانت القيمة المعطاة متساوية مع قيمة الوسيط other، أو تعاد قيمة سالبة إن كانت القيمة الأولى ...
الدالة lastIndexOf() في Kotlin
تجلب الدالة lastIndexOf() فهرس آخر ظهور لعنصر محدَّد من المصفوفة أو المجموعة أو القائمة التي استُدعيت معها. البنية العامة يمكن استدعاء الدالة lastIndexOf() مع المصفوفات، والمجموعات والقوائم: fun <T> Array<out T>.lastIndexOf(element: T): Int
fun ByteArray.lastIndexOf(element: Byte): Int
fun ShortArray.lastIndexOf(element: Short): Int
fun IntArray.lastIndexOf(element: Int): Int
fun LongArray.lastIndexOf(element: Long): Int
fun FloatArray.lastIndexOf(element: Float): Int
fun DoubleArray.lastIndexOf(element: Double): Int
fun BooleanArray.lastIndexOf(element: Boolean): Int
fun CharArray.lastIndexOf(element: Char): Int
fun <T> Iterable<T>.lastIndexOf(element: T): Int
fun <T> List<T>.lastIndexOf(element: T): Int
القيم المعادة يعاد فهرس آخر ظهور للعنصر المعطى والموجود في المصفوفة أو المجموعة أو القائمة المعطاة، أو القيمة -1 إن لم ...
الدالة CharSequence.indexOf() في Kotlin
تجلب الدالة indexOf() فهرس أول ظهور لمحرف أو سلسلة نصية محدَّدة من سلسلة المحارف التي استُدعيت معها. البنية العامة fun CharSequence.indexOf(
char: Char,
startIndex: Int = 0,
ignoreCase: Boolean = false
): Int
fun CharSequence.indexOf(
string: String,
startIndex: Int = 0,
ignoreCase: Boolean = false
): Int
المعاملات char المحرف المراد البحث عنه ضمن سلسلة من المحارف. startIndex السلسلة النصية المراد البحث عنها ضمن ...
الدالة Float.toFloat() في Kotlin
تحوّل الدالة toFloat() العدد الذي استُدعي معها إلى عدد عشري (أي من النوع Float). هذا قد يؤدي إلى تدوير العدد المراد تحويله. البنية العامة fun toFloat(): Float
حلت الدالة Number.toFloat() مكان هذه الدالة. القيمة المعادة يعاد عدد عشري (من النوع Float) يحوي العدد المعطى. أمثلة استعمال الدالة ()toFloat لتحويل عدد إلى عدد عشري: fun main(args: Array<String>) {
val x : Float = 52.0f
print(x.toFloat() ) // 52.0
}
انظر أيضًا الدالة toByte(): تحول ...
الدالة takeWhile() في Kotlin
تجلب الدالة takeWhile() أول عناصر محققة لشرطٍ محدَّدٍ من المصفوفة أو القائمة التي استُدعيت معها. البنية العامة inline fun <T> Array<out T>.takeWhile(
predicate: (T) -> Boolean
): List<T>
inline fun ByteArray.takeWhile(
predicate: (Byte) -> Boolean
): List<Byte>
inline fun ShortArray.takeWhile(
predicate: (Short) -> Boolean
): List<Short>
inline fun IntArray.takeWhile(
predicate: (Int) -> Boolean
): List<Int>
inline fun LongArray.takeWhile(
predicate: (Long) -> Boolean
): List<Long>
inline fun FloatArray.takeWhile(
predicate: (Float) ...
الدالة compareTo() في Kotlin
توازن الدالة compareTo() بين قيمة العنصر الذي استُدعيت معه والقيمة المُمرّرة إليه ثمَّ تعيد القيمة 0 إن كانا متساويين، أو قيمة سالبة إن كانت القيمة الأولى (قيمة العنصر الذي استُدعيت معه) أصغر من القيمة الثانية، أو قيمة موجبة إن كانت القيمة الأولى أكبر من القيمة الثانية. البنية العامة fun compareTo(other: Boolean): Int (source)
المعاملات other القيمة المنطقية الأخرى التي ستطبق عليها العملية. القيمة المعادة تعاد القيمة 0 إن كانت القيمة المعطاة متساوية مع القيمة other، أو تعاد قيمة سالبة إن ...
الدالة Regex.toString() في Kotlin
تحول الدالة toString() تعبيرًا نمطيًّا إلى سلسلة نصية (أي نمط [Pattern] ذلك التعبير النمطي). البنية العامة fun toString(): String
القيمة المعادة تعاد سلسلة نصية تمثل التعبير النمطي المعطى. أمثلة استعمال الدالة toString() لتحويل تعبير نمطيّ إلى سلسلة نصية: fun main(args: Array<String>) {
// يطابق التعبير النمطي التالي القيم العددية
val reg = Regex("""-?\d+(\.\d+)?""")
println(reg.toString()) // => -?\d+(\.\d+)?
}
انظر أيضًا الدالة toPattern(): تحول كائنًا من النوع Regex (تعبيرًا نمطيًا) إلى النوع Pattern (نمط). ...
الدالة substringAfter() في Kotlin
تجلب الدالة substringAfter() كل الجزء الواقع بعد أول ظهور لمحرف أو لسلسلة نصية معينة في سلسلة نصية. البنية العامة fun String.substringAfter(
delimiter: Char,
missingDelimiterValue: String = this
): String (source)
fun String.substringAfter(
delimiter: String,
missingDelimiterValue: String = this
): String
المعاملات delimiter المحرف أو السلسلة النصية التي يراد جلب كامل الجزء الواقع بعدها. missingDelimiterValue السلسلة النصية التي ستعاد في حال لم يكن المعامل delimiter موجودًا ضمن السلسلة النصية المعطاة. القيمة الافتراضية هي: this (أي السلسلة النصية المعطاة نفسها). القيم المعادة ...
الثابت Float.MAX_VALUE في Kotlin
يمثل الثابت Float.MAX_VALUE أكبر قيمة موجبة نهائية (finite) لعدد عشري (float). البنية العامة const val MAX_VALUE: Float
أمثلة استخدام الثابت Float.MAX_VALUE لمعرفة أكبر عدد عشري موجب يمكن استعماله: fun main(args: Array<String>) {
println(Float.MAX_VALUE) // 3.4028235E38
}
انظر أيضًا الثابت Float.MIN_VALUE: يمثل أصغر قيمة موجبة غير صفرية يمكن أن يأخذها عدد عشري (float). الثابت Float.NEGATIVE_INFINITY: يمثل قيمة سالبة لا نهائية (infinity) لعدد عشري (float). الثابت Float.POSITIVE_INFINITY: يمثل قيمة موجبة لا نهائية (infinity) لعدد عشري (float). ...
الدالة singleOrNull() في Kotlin
تتحقَّق الدالة singleOrNull() من حواية المصفوفة أو المجموعة أو القائمة التي استُدعيت معها عنصرًا واحدًا فقط، أو عنصرًا واحدًا محققًا لشرط معيَّن ثمَّ تعيده، أو تعيد القيمة null خلاف ذلك. البنية العامة إن استدعيت الدالة singleOrNull() مع مصفوفة أو مجموعة أو قائمة دون تمرير أي معامل، فستتحقَّق من احتواء تلك المصفوفة أو المجموعة أو القائمة على عنصر واحد فقط ثمَّ تعيده. وفي حال كانت تلك المصفوفة أو المجموعة أو القائمة فارغةً أو تحوي أكثر من عنصر واحد، فستعيد الدالة singleOrNull() القيمة null: fun <T> Array<out T>.singleOrNull(): T? ...
الدالة Regex.matchEntire() في Kotlin
تحاول الدالة matchEntire() مطابقة جميع محارف السلسلة الممررة إليها مع التعبير النمطي الذي استدعي معها. البنية العامة actual fun matchEntire(input: CharSequence): MatchResult?
المعاملات input سلسلة المحارف التي يراد تطابق جميع محارفها مع التعبير النمطي المعطى. القيمة المعادة تعاد نسخةٌ من الصنف MatchResult تحتوي على جميع محارف المعامل input إن تطابقت جميع تلك المحارف مع التعبير النمطي المعطى، أو تعاد القيمة null خلاف ذلك. أمثلة استعمال الدالة matchEntire() لمعرفة سلسلة المحارف المطابقة للتعبير النمطي -?\d+(\.\d+)? بشكل كامل: fun main(args: Array<String>) {
...
الدالة unzip() في Kotlin
تعيد الدالة unzip() قائمتين، إذ تحتوي الأولى على القيم الأولى لكل زوج من أزواج المصفوفة أو المجموعة التكرارية التي استُدعيت معها وتحتوي الثانية على القيم الثانية لكل زوج من تلك الأزواج. البنية العامة يمكن استدعاء الدالة unzip() مع المصفوفات والمجموعات التكرارية: fun <T, R> Array<out Pair<T, R>>.unzip(): Pair<List<T>, List<R>>
fun <T, R> Iterable<Pair<T, R>>.unzip(): Pair<List<T>, List<R>>
القيمة المعادة تعاد قائمتين؛ تحتوي الأولى على القيم الأولى لكل زوج من أزواج المصفوفة أو المجموعة التكرارية المعطاة وتحتوي الثانية على القيم الثانية لكل ...
الدالة CharSequence.groupingBy() في Kotlin
تُنشئ الدالة groupingBy() موردًا (source) من النوع Grouping من سلسلة المحارف التي استُدعيت معها لاستخدامه لاحقًا مع عمليات التجميع (group-and-fold operations) وذلك باستخدام الدالة keySelector المُمرّرة إليها لاستخلاص مفتاح من كل محرف. البنية العامة inline fun <K> CharSequence.groupingBy(
crossinline keySelector: (Char) -> K
): Grouping<Char, K>
الإصدار المطلوب: kotlin 1.1. وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة الدوال المباشرة (inline functions)). المعاملات keySelector الدالة المستعملة في استخلاص مفتاح من كل محرف. القيم المعادة يُعاد موردٌ من النوع Grouping من المصفوفة أو المجموعة المعطاة لاستخدامه لاحقًا مع عمليات التجميع (group-and-fold). أمثلة ...
الدالة BooleanArray.get() في Kotlin
يجلب التابع get() عنصرًا ذي فهرس محدد من المصفوفة. يمكن الاستعاضة عن هذا التابع باستخدام معامل الفهرسة (index operator) المتمثل بالقوسين [] بالشكل: value = arr[index]
البنية العامة operator fun get(index: Int): Boolean
وجود الكلمة المفتاحية operator يدل على أنّ هذا التابع مرتبط بمعامل الفهرسة الذي ذكرناه آنفًا. المعاملات index عدد صحيح يمثل فهرس العنصر المراد جلبه. القيم المعادة يعاد العنصر ذو الفهرس index المحدِّد والموجود في المصفوفة المعطاة. أمثلة استعمال التابع get() لجلب العنصر الثاني من مصفوفة قيم منطقية: fun ...
الدالة Regex.find() في Kotlin
تبحث الدالة find() عن أول محرف متطابق مع التعبير النمطي الذي استُدعي معها في سلسلة المحارف الممرَّرة إليها. يمكن البحث في سلسلة المحارف المعطاة بأكملها، أو يمكن بدء عملية البحث عند محرف معين. البنية العامة actual fun find(
input: CharSequence,
startIndex: Int = 0
): MatchResult?
تبحث الدالة find() عن أول محرف متطابق مع التعبير النمطي الذي استُدعي معها في سلسلة المحارف input الممررة إليها. يمكن البحث في سلسلة المحارف المعطاة بأكملها، أو يمكن بدء ...
الدالة CharSequence.single() في Kotlin
تتحقَّق الدالة single() من حواية سلسلة المحارف التي استُدعيت معها محرفًا واحدًا فقط أو محرفًا واحدًا محققًا لشرط معيَّن ثمَّ تعيده أو تطلق استثناءً خلاف ذلك. البنية العامة fun CharSequence.single(): Char
inline fun CharSequence.single(
predicate: (Char) -> Boolean
): Char
وجود الكلمة المفتاحية inline يدل على أن هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة الدوال المباشرة (inline functions)). المعاملات predicate دالة تطبق على كل محرف من محارف السلسلة المعطاة. يمرر إليها محرفٌ وتعيد قيمة منطقية مقابله له. القيم المعادة يعاد المحرف ...
الدالة toString() في Kotlin
تعيد الدالة toString() سلسلة نصية تمثل الكائن الذي استدعيت معه. البنية العامة fun Any?.toString(): String
القيم المعادة تعاد سلسلة نصيّة (string) تمثّل الكائن المُحدَّد. أمثلة استخدام الدالةtoString() مع متغير بسيط: fun main(args: Array<String>) {
var x = 5
println(x.toString()) // 5
}
استخدام الدالة toString() مع المصفوفات: import java.util.*
fun main(args: Array<String>) {
val nums = arrayOf(1, 2, 3, 4, 5)
println(Arrays.toString(nums)) // [1, 2, 3, 4, 5]
}
انظر أيضًا الدالة hashCode(): ...
الدالة Double.toInt() في Kotlin
تحوّل الدالة toInt() العدد العشري المضاعف (double) الذي استُدعي معها إلى عدد صحيح (أي من النوع Int). هذا قد يؤدي إلى تدوير العدد المراد تحويله أو اقتطاع جزءٍ منه. البنية العامة fun toInt(): Int
حلت الدالة Number.toInt() مكان هذه الدالة. القيمة المعادة يعاد عدد صحيح (من النوع Int) يحوي العدد العشري المضاعف المراد تحويله. أمثلة استعمال الدالة ()toInt لتحويل عدد عشري مضاعف إلى عدد صحيح: fun main(args: Array<String>) {
val x: Double = 52.6
...
الدالة toTitleCase() في Kotlin
تحوّل الدالة toTitleCase() المحرف الذي استٌدعي معها إلى محرف عنواني (titlecase). تتكون المحارف العنوانية عادةً من محرفين ملتصقين، مثل 'Dž' أو 'Nj'، إذ يعاملان وكأنَّهما محرفٌ واحدٌ فقط. البنية العامة inline fun Char.toTitleCase(): Char
وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة يعاد الحرف Char المعطى بعد تحويله إلى حرف عنواني. أمثلة تُعرّف الشيفرة الآتية حرفًا باسم x ثم تستدعي الدالة toTitleCase() معه، ثم تطبع الناتج: fun main(args: Array<String>) { ...
الدالة zip() في Kotlin
تنشئ الدالة zip() أزواجًا من محارف سلسلتين لها نفس الفهرس، أو تنشئ قيمًا عبر تمرير عناصر لها نفس الفهرس تجلب من كائنين مختلفين إلى دالة معينة. البنية العامة infix fun CharSequence.zip(
other: CharSequence
): List<Pair<Char, Char>>
إن استدعيت الدالة zip() مع سلسلة من المحارف ومع تمرير سلسلة أخرى إليها كمعامل، فستشكل أزواجًا من محارف هاتين السلسلتين لها نفس الفهرس وتضعها في قائمة؛ طول القائمة المعادة يساوي طول أٌقصرهما. inline fun <V> CharSequence.zip(
other: CharSequence,
transform: (a: Char, b: Char) -> V
): List<V>
وإن ...
الثابت Char.MIN_SURROGATE في Kotlin
يمثل الثابت Char.MIN_SURROGATE القيمة الدنيا لبديل لعدد بتات الترميز الموحد (Unicode surrogate code unit). البنية العامة const val MIN_SURROGATE: Char
انظر أيضًا الثابت Char.MAX_HIGH_SURROGATE: يمثّل القيمة القصوى للبديل الأعلى لوحدة اليونيكود (Unicode high-surrogate code unit). الثابت Char.MAX_LOW_SURROGATE: يمثل القيمة القصوى للبديل الأدنى لوحدة اليونيكود (Unicode low-surrogate code unit). الثابت Char.MAX_SURROGATE: يمثِّل القيمة القصوى لبديل وحدة اليونيكود (Unicode surrogate code unit). الثابت Char.MIN_HIGH_SURROGATE: يمثل القيمة الدنيا للبديل الأعلى لوحدة اليونيكود (Unicode high-surrogate code unit). الثابت Char.MIN_LOW_SURROGATE: يمثل القيمة الدنيا للبديل الأدنى ...
الدالة isLetterOrDigit() في Kotlin
تتحقق الدالة isLetterOrDigit() إن كان المحرف (character) الذي استٌدعي معها حرفًا أبجديًا أو رقمًا. البنية العامة inline fun Char.isLetterOrDigit(): Boolean
المنصة المطلوبة: JVM. وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كان المحرف (character) المعطى حرفًا أبجديًا أو رقمًا، أو تعاد القيمة false خلاف ذلك. أمثلة استعمال الدالة isLetterOrDigit() للتحقق من كون المحرف المراد استعماله حرفًا أبجديًا أو رقمًا: fun main(args: Array<String>) {
val ...
الدالة elementAtOrNull() في Kotlin
تجلب الدالة elementAtOrNull() عنصرًا ذي فهرس معيَّن من المصفوفة أو المجموعة التي استُدعيت معها. إن كان الفهرس المعطى خارج حدود المصفوفة أو المجموعة، فستُعيد الدالة القيمة العدمية null. البنية العامة يمكن استدعاء الدالةelementAtOrNull() مع المصفوفات: inline fun <T> Array<out T>.elementAtOrNull(index: Int): T?
inline fun ByteArray.elementAtOrNull(index: Int): Byte?
inline fun ShortArray.elementAtOrNull(index: Int): Short?
inline fun IntArray.elementAtOrNull(index: Int): Int?
inline fun LongArray.elementAtOrNull(index: Int): Long?
inline fun FloatArray.elementAtOrNull(index: Int): Float?
inline fun DoubleArray.elementAtOrNull(index: Int): Double?
inline fun BooleanArray.elementAtOrNull(index: Int): Boolean?
inline fun CharArray.elementAtOrNull(index: Int): Char?
ومع ...
الدالة CharSequence.contains() في Kotlin
تتحقق الدالة contains() إن كانت سلسلة المحارف التي استُدعيت معها تحوي المحرف أو سلسلة المحارف المُمرّرة إليها. إن مُرِّر تعبير نمطي إلى هذه الدالة، فستتحقق إن كانت سلسلة المحارف التي استُدعيت معها تحوي محرفًا واحدًا على الأقل متطابقًا مع ذلك التعبير النمطي. البنية العامة operator fun CharSequence.contains(
other: CharSequence,
ignoreCase: Boolean = false
): Boolean
operator fun CharSequence.contains(
char: Char,
ignoreCase: Boolean = false
): Boolean
inline operator fun ...
الدالة String.compareTo() في Kotlin
توازن الدالة compareTo() بين سلسلتين نصيتين معجميًّا (lexicographically)، مع إمكانية تجاهل حالة الأحرف. البنية العامة fun String.compareTo(
other: String,
ignoreCase: Boolean = false
): Int
وجود الكلمة المفتاحية inline يدل على أن هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). المعاملات other السلسلة النصية المراد موازنتها مع السلسلة النصية المعطاة. ignoreCase قيمة منطقية تحدد إن كان يراد تجاهل حالة الحروف أم لا أثناء الموازنة. القيمة الافتراضية هي: false أي أخذ حالة الحروف بالحسبان. القيم المعادة تعاد ...
الدالة ByteArray.set() في Kotlin
تضبط الدالة set() قيمة عنصر ذي فهرس محدد موجود في المصفوفة المستدعاة معه. يمكن الاستعاضة عن هذه الدالة باستخدام آلية الإسناد (assignment) ومعامل الفهرسة (index operator) بالشكل: arr[index] = value
البنية العامة operator fun set(index: Int, value: Double)
وجود الكلمة المفتاحية operator يدل على أنّ هذه الدالة مرتبط بمعامل الفهرسة المذكور سابقًا. المعاملات index عدد صحيح يمثل فهرس العنصر المراد تغيير قيمته وتعيين القيمة value له. value القيمة المراد تعيينها إلى العنصر ذي الفهرس index. أمثلة استعمال الدالة set() لتغيير قيمة العنصر الثاني والثالث إلى 5.34 و 98.5 على ...
الدالة Char.toDouble() في Kotlin
تحوّل الدالة toDouble() المحرف الذي استُدعي معها إلى عدد عشري مضاعف (أي من النوع Double). البنية العامة fun toDouble(): Double
القيمة المعادة يعاد عدد عشري مضاعف من النوع Double يمثل القيمة العددية للمحرف المعطى. أمثلة استعمال الدالة ()toDouble لتحويل المحرف 'a' إلى عدد عشري مضاعف: fun main(args: Array<String>) {
val x = 'a'
println(x.toDouble()) // 97.0
}
انظر أيضًا الدالة toByte() : تحوّل المحرف الذي استُدعي معها إلى ...
الدالة Regex.containsMatchIn() في Kotlin
تتحقق الدالة containsMatchIn() إن كان بإمكان التعبير النمطي الذي استُدعي معها مطابقة محرفٍ واحدٍ على الأقل من سلسلة المحارف المُمرّرة إليه. البنية العامة actual fun containsMatchIn(input: CharSequence): Boolean
المعاملات input سلسلة المحارف التي يراد التحقق من تطابق أحد محارفها -على الأقل- مع التعبير النمطي المعطى. القيمة المعادة تعاد القيمة true المنطقية إن بإمكان التعبير النمطي المعطى مطابقة محرفٍ واحدٍ على الأقل من سلسلة المحارف input، أو تعاد القيمة false خلاف ذلك. أمثلة تنشئ الدالة Regex() في الشيفرة التالية تعبيرًا نمطيًا باسم reg لمطابقة الأعداد، ثم تُستعمَل ...
الدالة replaceFirst() في Kotlin
تبدل الدالة replaceFirst() محرفًا جديدًا مكان أول ظهور لمحرف قديم، أو سلسلة نصية جديدة مكان أول ظهور لسلسلة نصية قديمة، أو سلسلة نصية جديدة أو ناتج تنفيذ دالة مكان أول ما يطابق تعبير نمطي معين في سلسلة نصية أو سلسلة من المحارف. البنية العامة actual fun String.replaceFirst(
oldChar: Char,
newChar: Char,
ignoreCase: Boolean = false
): String
actual fun String.replaceFirst(
oldValue: String,
newValue: String, ...
الدالة isJavaIdentifierPart() في Kotlin
تتحقق الدالة isJavaIdentifierPart() إن كان من المحتمل أن يكون المحرف الذي استٌدعي معها جزءًا من مُعرِّف جافا (Java identifier) وليس المحرف الأول من المُعرّف. البنية العامة inline fun Char.isJavaIdentifierPart(): Boolean
المنصة المطلوبة: JVM. وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كان من المحتمل أن يكون المحرف المعطى جزءًا من مُعرِّف جافا (Java identifier) وليس المحرف الأول من المُعرّف، أو القيمة false خلاف ذلك. أمثلة ...
الدالة sortedBy() في Kotlin
ترتِّب الدالة sortedBy() جميع عناصر المصفوفة أو المجموعة التكرارية (Iterable) التي استُدعيت معها تصاعديًّا وفقًا للقيم التي تعيدها الدالة المُمرّرة إليها عند تطبيقها على كل عنصر ثمَّ تضع الناتج في قائمة. البنية العامة inline fun <T, R : Comparable<R>> Array<out T>.sortedBy(
crossinline selector: (T) -> R?
): List<T>
inline fun <R : Comparable<R>> ByteArray.sortedBy(
crossinline selector: (Byte) -> R?
): List<Byte>
inline fun <R : Comparable<R>> ShortArray.sortedBy(
crossinline selector: (Short) -> R?
): List<Short>
inline fun <R ...
الدالة foldIndexed() في Kotlin
تجمع الدالة foldIndexed() ناتج تطبيق عملية معينة على قيمة كل عنصر من عناصر المصفوفة أو المجموعة (بدءًا من اليسار إلى اليمين) المستدعاة معها وفهرس ذلك العنصر بشكل تراكمي بالإضافة إلى القيمة الأولية إن أعطيت. البنية العامة يمكن استدعاء الدالة foldIndexed() مع المصفوفات: inline fun <T, R> Array<out T>.foldIndexed(
initial: R,
operation: (index: Int, acc: R, T) -> R
): R
inline fun <R> ByteArray.foldIndexed(
initial: R,
operation: ...
الدالة Char.dec() في Kotlin
تعيد الدالة dec() المحرف السابق للمحرف الذي استُدعيت معه. البنية العامة operator fun dec(): Char
وجود الكلمة المفتاحيّة operator يدل على أنّ هذا التابع مرتبطٌ بمعامل تكرار (iteration operator). القيمة المعادة يعاد المحرف السابق للمحرف المعطى. أمثلة استعمال الدالة ()dec لجلب الحرف الذي يسبق الحرف 'f': fun main(args: Array<String>) {
val x = 'f'
println(x.dec()) // e
}
انظر أيضًا الدالة compareTo(): توازن بين قيمة العنصر الذي استُدعيت معه والقيمة المُمرّرة إليه ثمَّ تعيد القيمة 0 إن كانا ...
الدالة sortedWith() في Kotlin
ترتِّب الدالة sortedWith() جميع عناصر المصفوفة أو المجموعة التكرارية التي استُدعيت معها وفقًا للمُقارِن المُمرّر إليها ثمَّ تضع الناتج في قائمة. البنية العامة fun <T> Array<out T>.sortedWith(
comparator: Comparator<in T>
): List<T>
fun ByteArray.sortedWith(
comparator: Comparator<in Byte>
): List<Byte>
fun ShortArray.sortedWith(
comparator: Comparator<in Short>
): List<Short>
fun IntArray.sortedWith(
comparator: Comparator<in Int>
): List<Int>
fun LongArray.sortedWith(
comparator: Comparator<in Long>
): List<Long>
fun FloatArray.sortedWith(
comparator: Comparator<in Float>
): List<Float>
fun DoubleArray.sortedWith(
...
الدالة toMutableSet() في Kotlin
تحول الدالة toMutableSet() المصفوفة أو المجموعة التكرارية التي استُدعيت معها إلى مجموعة من النوع MutableSet؛ تحافظ المجموعة المُعادة على نفس ترتيب تكرار المصفوفة أو المجموعة التكرارية الأصلية. البنية العامة يمكن استدعاء الدالة toMutableSet() مع المصفوفات والمجموعات التكرارية: fun <T> Array<out T>.toMutableSet(): MutableSet<T>
fun ByteArray.toMutableSet(): MutableSet<Byte>
fun ShortArray.toMutableSet(): MutableSet<Short>
fun IntArray.toMutableSet(): MutableSet<Int>
fun LongArray.toMutableSet(): MutableSet<Long>
fun FloatArray.toMutableSet(): MutableSet<Float>
fun DoubleArray.toMutableSet(): MutableSet<Double>
fun BooleanArray.toMutableSet(): MutableSet<Boolean>
fun CharArray.toMutableSet(): MutableSet<Char>
fun <T> Iterable<T>.toMutableSet(): MutableSet<T>
القيمة المعادة تعاد مجموعة من النوع MutableSet تحوي جميع عناصر ...
الصنف MatchGroup في Kotlin
يمثل الصنف MatchGroup النتائج التي نحصل عليها من مجموعة واحدة ضمن MatchResult الخاصة بالصنف Regex. data actual class MatchGroup
الدوال البانية <init> تنشئ كائنًا من النوع MatchGroup الذي يمثل النتائج التي نحصل عليها من مجموعة واحدة ضمن MatchResult الخاصة بالصنف Regex. الخاصيات range تمثل مجال الفهارس التي تحدّد مكان مجموعة النتائج التي تم الحصول عليها. value تمثل قيمة مجموعة النتائج التي تم الحصول عليها. الدوال الموروثة equals يبين إذا ما كان الكائن المُمرّر إليها يساوي الكائن الذي استدعي معه. hashCode يعيد الشيفرة ...
الدالة plus() في Kotlin
تضيف الدالة plus() الوسيط المُمرَّر إليها إلى الكائن الذي استدعيت معه. البنية العامة إن استدعيت الدالة plus() مع المصفوفات، فستعيد مصفوفة تضم جميع عناصر المصفوفة التي استدعيت معها إضافةً إلى العنصر المُمرّر إليها: operator fun <T> Array<T>.plus(element: T): Array<T>
operator fun ByteArray.plus(element: Byte): ByteArray
operator fun ShortArray.plus(element: Short): ShortArray
operator fun IntArray.plus(element: Int): IntArray
operator fun LongArray.plus(element: Long): LongArray
operator fun FloatArray.plus(element: Float): FloatArray
operator fun DoubleArray.plus(element: Double): DoubleArray
operator fun BooleanArray.plus(
element: Boolean
): BooleanArray
وإن استدعيت هذه ...
الثابت Byte.MAX_VALUE في Kotlin
يمثِّل الثابت Byte.MAX_VALUE أكبر قيمة يمكن تخزينها في النوع Byte. البنية العامة const val MAX_VALUE: Byte
أمثلة استعمال الثابت MAX_VALUE لمعرفة أكبر قيمة يمكن أن يأخذها النوع Byte: fun main(args: Array<String>) {
println(Byte.MAX_VALUE) // 127
}
انظر أيضًا الثابت MAX_VALUE: يمثِّل أصغر قيمة يمكن تخزينها في النوع Byte. مصادر صفحة الثابت Byte.MAX_VALUE في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.
الدالة filterIsInstanceTo() في Kotlin
تضيف الدالة filterIsInstanceTo() عناصر المصفوفة أو المجموعة المعطاة التي هي نسخةٌ (instance) من نوع أو صنفٍ معيّن إلى المجموعة المتغيرة destination المُمرّرة إليها. البنية العامة inline fun <reified R, C : MutableCollection<in R>> Array<*>.filterIsInstanceTo(
destination: C
): C
inline fun <reified R, C : MutableCollection<in R>> Iterable<*>.filterIsInstanceTo(
destination: C
): C
يمكن تمرير معامل klass إلى الدالة filterIsInstanceTo(): fun <C : MutableCollection<in R>, R> Array<*>.filterIsInstanceTo(
destination: C,
klass: Class<R>
): C
fun ...
الدالة mapIndexed() في Kotlin
تعيد الدالة mapIndexed() قائمةً تحوي ناتج تطبيق الدالة المُمرّرة إليها على فهرس وقيمة كل عنصر من عناصر المصفوفة أو المجموعة التي استُدعيت معها. البنية العامة يمكن استدعاء الدالة mapIndexed() مع المصفوفات والمجموعات: inline fun <T, R> Array<out T>.mapIndexed(
transform: (index: Int, T) -> R
): List<R>
inline fun <R> ByteArray.mapIndexed(
transform: (index: Int, Byte) -> R
): List<R>
inline fun <R> ShortArray.mapIndexed(
transform: (index: Int, Short) -> R
): List<R>
inline fun <R> IntArray.mapIndexed(
...
الدالة Regex_0 في Kotlin
أصبحت الدالة Regex_0 مهملة، إذ كانت متوافرة من أجل التوافقية الثنائية (binary compatibility). تنشئ هذه الدالة تعبيرًا نمطيًا (regular expression) انطلاقًا من السلسلة النصية والخيارات المُمرّرة إليها. البنية العامة fun Regex_0(pattern: String, option: RegexOption): Regex
منصة التشغيل المطلوبة: JS. المعاملات pattern سلسلة نصية تمثل النمط الذي سينشأ منه تعبير نمطي. option كائن من النوع RegexOption يحوي خيارًا واحدًا من خيارات التعابير النمطية. القيم المعادة يعاد كائن من النوع Regex يحتوي على التعبير النمطي pattern بعد ضبطه وفقًا للخيار option. انظر أيضًا الدالة Regex(): تنشئ تعبيرًا نمطيًا (regular expression) انطلاقًا من السلسلة النصية المُمرّرة إليه. الدالة containsMatchIn(): تتحقق ...
الدالة toDoubleArray() في Kotlin
تحول الدالة toDoubleArray() المصفوفة العامة (أي من النوع Array<Double>) أو المجموعة التي استُدعيت معها إلى مصفوفة من النوع DoubleArray. البنية العامة fun Array<out Double>.toDoubleArray(): DoubleArray
fun Collection<Double>.toDoubleArray(): DoubleArray
القيمة المعادة تعاد مصفوفة من النوع DoubleArray تحوي جميع عناصر المصفوفة العامة (أي من النوع Array<Double>) أو المجموعة المعطاة. أمثلة استعمال الدالة ()toDoubleArray لتحويل مصفوفة من النوع Array<Double> إلى النوع DoubleArray: import java.util.Arrays
fun main(args: Array<String>) {
val array: Array<Double> = arrayOf(4.5, 5.4, 6.0)
println(Arrays.toString(array.toDoubleArray())) // [4.5, 5.4, 6.0]
...
الدالة isEmpty() في Kotlin
تتحقق الدالة isEmpty() إن كانت المصفوفة التي استُدعيت معها فارغةً أم لا. البنية العامة inline fun <T> Array<out T>.isEmpty(): Boolean
inline fun ByteArray.isEmpty(): Boolean
inline fun ShortArray.isEmpty(): Boolean
inline fun IntArray.isEmpty(): Boolean
inline fun LongArray.isEmpty(): Boolean
inline fun FloatArray.isEmpty(): Boolean
inline fun DoubleArray.isEmpty(): Boolean
inline fun BooleanArray.isEmpty(): Boolean
inline fun CharArray.isEmpty(): Boolean
وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة الدوال المباشرة (inline functions)). القيم المعادة تُعاد القيمة true إن كانت المصفوفة المعطاة فارغةً، أو القيمة false خلاف ...
الدالة minBy() في Kotlin
تجلب الدالة minBy() العنصر أو الزوج الأول من المصفوفة أو المجموعة أو الخريطة التي استُدعيت معها والذي أعيدت معه أصغر قيمة عند تطبيق دالة معيَّنة عليه. البنية العامة يمكن استدعاء الدالة minBy() مع المصفوفات و المجموعات والخرائط: inline fun <T, R : Comparable<R>> Array<out T>.maxBy(
selector: (T) -> R
): T?
inline fun <R : Comparable<R>> ByteArray.maxBy(
selector: (Byte) -> R
): Byte?
inline fun <R : Comparable<R>> ShortArray.maxBy(
selector: (Short) -> R
): ...
الدالة contentDeepEquals() في Kotlin
تتحقق الدالة contentDeepEquals() من تساوي مصفوفتين بالعُمق، أي أنهما تحتويان على نفس العناصر وبنفس الترتيب. إن تقابل عنصران وكان كلاهما مصفوفتين متشعبتين، فسيُتحقق من تساويهما بالعمق أيضًا بالطريقة ذاتها. وإن كانت إحدى المصفوفتين تحتوي على مرجع لها (تحتوي على نفسها) في أيّ مستوى من مستويات التشعب، فسيكون سلوك الدالة غير محدَّد. البنية العامة inline infix fun <T> Array<out T>.contentDeepEquals(
other: Array<out T>
): Boolean
الإصدار المطلوب: Kotlin 1.1 وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من ...
الدالة trimEnd() في Kotlin
تحذف الدالة trimEnd() المحارف المحققة لشرط معين، أو محارف محددة، أو المسافات الفارغة من نهاية سلسلة المحارف أو السلسلة النصية التي استُدعيت معها. البنية العامة inline fun CharSequence.trimEnd(
predicate: (Char) -> Boolean
): CharSequence
inline fun String.trimEnd(
predicate: (Char) -> Boolean
): String
fun CharSequence.trimEnd(vararg chars: Char): CharSequence
fun String.trimEnd(vararg chars: Char): String
fun CharSequence.trimEnd(): CharSequence
inline fun String.trimEnd(): String
يُلاحَظ وجود الكلمة المفتاحية inline للدلالة على أن هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة الدوال المباشرة (inline functions)). المعاملات ...
الدالة String.intern() في Kotlin
تعيد الدالة intern() تمثيلًا معياريًّا (canonical representation) للسلسلة النصية التي استُدعيت معها. البنية العامة inline fun String.intern(): String
بيئة التشغيل المطلوبة: JVM. القيم المعادة تعاد سلسلة نصية. أمثلة مثالٌ على استعمال الدالة ()intern: fun main(args: Array<String>) {
var str = "hsoub"
print(str.intern()) // hsoub
}
انظر أيضًا الدالة format(): تنسِّق سلسلة نصية وفقًا لقيمة المعاملات التي تمرر إليها. مصادر صفحة الدالة String.intern() في التوثيق الرسمي للمكتبة القياسية في لغة Kotlin.
الدالة trim() في Kotlin
تحذف الدالة trim() المحارف المحققة لشرط معين، أو محارف محددة، أو المسافات الفارغة من بداية ونهاية سلسلة المحارف أو السلسلة النصية التي استُدعيت معها. البنية العامة inline fun CharSequence.trim(
predicate: (Char) -> Boolean
): CharSequence
inline fun String.trim(predicate: (Char) -> Boolean): String
fun CharSequence.trim(vararg chars: Char): CharSequence
fun String.trim(vararg chars: Char): String
fun CharSequence.trim(): CharSequence
inline fun String.trim(): String
يُلاحَظ وجود الكلمة المفتاحية inline للدلالة على أن هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة الدوال المباشرة (inline functions)). المعاملات predicate دالةٌ تطبق ...
الدالة Byte.div() في Kotlin
تقسِّم الدالة div() العدد الذي استُدعي معه على العدد الممرّر إليها ثم تعيد الناتج. البنية العامة operator fun div(other: Byte): Int
operator fun div(other: Short): Int
operator fun div(other: Int): Int
operator fun div(other: Long): Long
operator fun div(other: Float): Float
operator fun div(other: Double): Double
وجود الكلمة المفتاحيّة operator يدل على أنّ هذا التابع مرتبطٌ بمعامل تكرار (iteration operator). المعاملات other العدد الآخر المراد تطبيق العملية عليه. القيمة المعادة يعاد ناتج قسمة العدد الذي استُدعي مع الدالة على العدد ...
الدالة component1() في Kotlin
تعيد الدالة component1() العنصر الأول من المصفوفة أو المفتاح (key) لأول زوج (مفتاح/قيمة) في الخريطة (map) التي استدعيت معها. تسمح هذه الدالة باستخدام التصريحات التفكيكية (destructuring declarations) عند العمل على الخرائط. البنية العامة يمكن استدعاء الدالة component1() مع المصفوفات والقوائم (list): inline operator fun <T> Array<out T>.component1(): T
inline operator fun ByteArray.component1(): Byte
inline operator fun ShortArray.component1(): Short
inline operator fun IntArray.component1(): Int
inline operator fun LongArray.component1(): Long
inline operator fun FloatArray.component1(): Float
inline operator fun DoubleArray.component1(): Double
inline operator fun ...
عرض (250 السابقة | 250 التالية) (20 | 50 | 100 | 250 | 500).