نتائج البحث

اذهب إلى التنقل اذهب إلى البحث

الإضافات (Extensions) في لغة Kotlin

الإضافات (Extensions) توفِّر لغة Kotlin -كما هو الحال في لغات البرمجة مثل C#‎ و Gosu- إمكانيّة الإضافة على الأصناف (classes) بوظائف جديدةٍ دون اللجوء إلى الوراثة (inheritance) منها أو استخدام أيّ أنماطٍ تصميميّةٍ مثل Secorator، وذلك من خلال تصريحات خاصّة تُدعى الإضافات (extensions)، إذ تدعم لغة Kotlin الدوال الإضافيّة (extension functions) والخاصّيّات الإضافيّة (extension properties). الدوال الإضافيّة (Extension Functions) لتعريف دالةٍ إضافيّةٍ يجب أن يُسبَق اسمها بنوع المستقبِل (receiver type) أي النوع الذي ستتمّ الإضافة عليه، ففي الشيفرة الآتية تُضاف ...

المقارنة بين لغتيّ البرمجة 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 الاستثناءات ...

المعامل []‎ الخاص بالصنف Struct في روبي

يجلب المعامل [] قيمة عضو البنية المعطى، أو قيمة العضو ذي الفهرس المحدَّد. البنية العامة struct[member]→ object struct[index] → object‎ المعاملات member اسم العضو المراد جلب قيمته. index فهرس العضو المراد جلب قيمته. القيمة المعادة تعاد قيمة عضو البنية member المعطى، أو العضو ذو الفهرس index. يطلق الاستثناء NameError إن لم يكن member موجودًا، أو الاستثناء IndexError إن كان index خارج النطاق. أمثلة مثال على استخدام المعامل []‎: Customer = Struct.new(:name, :address, :zip) joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345) joe["name"] ...

أصناف البيانات (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 بما ...

الأصناف (Classes) والوراثة (Inheritance) في لغة Kotlin

تُستخدم الكلمة المفتاحيّة class للتصريح (declaration) عن الصنف بالصيغة الآتية (اسم الصنف Invoice): class Invoice { } ويحتوي التصريح على اسم الصنف (class name) وترويسة الصنف (class header) (والتي تُحدِّد معاملات النوع والباني الأساسيّ ...إلخ.) وبُنية الصنف (class body) محاطةً بالقوسين {}، وإن كلًا من ترويسة الصنف وبُنيته اختياريتان؛ فإذا كان الصنف خاليًا لا حاجة للأقواس، مثل: class Empty الباني (Constructor) يوجد لكلّ صنف في لغة Kotlin بانٍ رئيسيّ (primary) واحدٌ وبانٍ -أو أكثر- ثانويّ (secondary)، إذ يُعدُّ الباني الرئيسيّ جزءًا من ...

التابع Hash.member?‎ في روبي

يتحقق التابع member?‎ إذا كان مفتاحٌ معيَّن موجودًا في الكائن Hash المعطى. انتبه إلى أنَّ التابع include?‎ والتابع member?‎ لا يختبرا تساوي الأعضاء باستخدام المعامل ==كما تفعل غيرها من التوابع المحصية (enumerables). البنية العامة member?(key) → true or false المعاملات key المفتاح المراد التحقق من وجوده. القيمة المعادة تعاد القيمة true إذا كان المفتاح key موجود في الكائن Hash المعطى. خلا ذلك، تعاد القيمة false. أمثلة مثال على استعمال التابع member?‎: h = { "a" => 100, "b" => 200 } h.has_key?("a") #=> true h.has_key?("z") #=> false انظر ...

المعامل ‎[]=‎‎ الخاص بالصنف Struct في روبي

يضبط المعامل [] عند استدعائه بالشكل struct[member/index] = obj قيمة عضو البنية member المعطى أو العضو الموجود عند الفهرس index إلى القيمة obj. يطلق الاستثناء NameError إن كان member غير موجود، أو الاستثناء IndexError إن كان index خارج النطاق. البنية العامة struct[member] = obj → obj struct[index] = obj → obj‎ المعاملات member اسم العضو المراد تعيين قيمته. index فهرس العضو المراد تعيين قيمته. القيمة المعادة تعاد القيمة obj المُعيّنة. أمثلة مثال على استخدام المعامل ‎[]=‎: Customer = Struct.new(:name, :address, ...

التحميل الزائد للمعاملات (Operator Overloading) في لغة Kotlin

تُتيح لغة Kotlin إجراءَ مجموعةٍ مُعرَّفة مسبقًا من العمليات على أنواع البيانات المختلفة وذلك باستخدام رموزٍ ثابتةٍ تعتمدها لغة Kotlin مثل الرمز + أو الرمز * وتختلف فيما بينها بالأولويّة (precedence)، حيث توجد دالةٌ (إما دالة من الصنف [member] أو دالة إضافيّة [extension]) باسمٍ ثابتٍ لكلّ معاملٍ مُعرَّف بحسب النوع (نوعٌ يساريٌّ للعمليات الثنائيّة [binary operations] ونوع وسائط [argument type] للعمليات الأحاديّة [unary operations])، ويجب تحديد الدوال التي تحتوي على تحميلٍ زائدٍ للمعاملات بالمُحدَّد operator، تناقش الصفحة الاصطلاحات (conventions) التي ...

أصناف الثوابت المُتعدِّدة (Enum Classes) في لغة Kotlin

يتلخَّصُ الاستخدام الرئيسيّ لأصناف الثوابت المتعدَّدة في قدرتها على تعريف الاستخدام (implementing) للثوابت المتعدًّدة الحافظة للنوع (type-safe)، ويُصرَّح عنها بالشكل: enum class Direction { NORTH, SOUTH, WEST, EAST } إذ يُعدُّ كلُّ ثابتٍ فيها كائنًا (object)، ويُفصل فيما بينها بالفاصلة , . التهيئة (Initialization) لمّا كان كلّ ثابتٍ في صنف الثوابت المتعدِّدة (enum) يُعدُّ كائنًا فيمكن إجراء التهيئة كما يلي: enum class Color(val rgb: Int) { RED(0xFF0000), ...

تعبير this

تعبير this يُستخدم التعبير this لتحديد المستقبِل (receiver) الحاليّ، ويختلف ذلك بحسب الحالتين: تعبِّر الكلمة المفتاحيّة this في أيّ من عناصر الصنف (class member) عن الكائن (object) الحاليّ من هذا الصنف. وتعبِّر في الدالة الإضافيّة (extension functions) أو قيمة الدالة مع المستقبِل (function literal with receiver) عن معامل المستقبِل الذي سيُمرَّر على الطرف اليساريّ من النقطة .. وإذا لم يكن هناك أي تقييدٍ (qualification) مرتبطٍ مع الكلمة المفتاحيّة this فإنها ستعبِّر عن أقرب مجالٍ (scope) داخليّ محيطٍ بها (enclosing)، وللتعبير ...

التابع Range.member?‎‎ في روبي

يتحقق التابع member?‎ إن كان كائنٌ ما عنصرًا من المجال الذي استُدعي معه. إن كان عنصرا البداية والنهاية عددين، فستتم المقارنة وفقًا لمقدار (magnitude) القيم. البنية العامة member?(obj) → true or false‎ المعاملات obj‎ الكائن المراد التحقق من كونه واقعًا في المجال المعطى.‎ القيمة المعادة تعاد القيمة true إن كان obj عنصرًا من المجال الذي استُدعي معه، أو تعاد القيمة false خلاف ذلك. أمثلة مثال على استخدام التابع member?‎: ("a".."z").include?("g") #=> true ("a".."z").include?("A") #=> false ("a".."z").include?("cc") ...

الدوال (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 ، ...

صفحة التابع ?ObjectSpace::WeakMap.member في روبي

يتحقَّق التابع ?member إذا كان المفتاح مُسجّلًا (registered). البنية العامة member?(p1) المعاملات p1 المفتاح (key) المراد التحقق منه إن كان مسجلًا. القيم المعادة تُعاد القيمة true إذا كان المفتاح p1 مُسجّلًا. انظر أيضًا المعامل []: يعيد كائنًا ذو مرجع ضعيف مع المفتاح المُعطى. المعامل =[]: يُنشئ مرجعًا ضعيفًا من المفتاح المُعطى إلى القيمة المعطية. التابع each: يتكرَّر على المفاتيح والكائنات في كائنٍ ذي مرجعٍ ضعيفٍ. مصادر صفحة التابع ?member في الصنف ObjectSpace::WeakMap في توثيق روبي الرسمي.

صفحة التابع ?ObjectSpace::WeakMap.member في روبي

يتحقَّق التابع ?member إذا كان المفتاح مُسجّلًا (registered). البنية العامة member?(p1) المعاملات p1 المفتاح (key) المراد التحقق منه إن كان مسجلًا. القيم المعادة تُعاد القيمة true إذا كان المفتاح p1 مُسجّلًا. انظر أيضًا المعامل []: يعيد كائنًا ذو مرجع ضعيف مع المفتاح المُعطى. المعامل =[]: يُنشئ مرجعًا ضعيفًا من المفتاح المُعطى إلى القيمة المعطية. التابع each: يتكرَّر على المفاتيح والكائنات في كائنٍ ذي مرجعٍ ضعيفٍ. مصادر صفحة التابع ?member في الصنف ObjectSpace::WeakMap في توثيق روبي الرسمي.

التابع Enumerable.member?‎ في روبي

يتحقق التابع member?‎ من احتواء كائن قابل للتعداد على عنصر محدَّد (مرة واحدة أو أكثر). يُتحقَّق من عملية التساوي عبر المعامل ==. البنية العامة member?(obj) → true or false المعاملات obj الكائن المراد التحقق من تساويه مع أحد عناصر الكائن القابل للتعداد المعطى. القيمة المعادة تعاد القيمة true إن احتوى الكائن القابل للتعداد المعطى على العنصر obj، أو تعاد القيمة false خلاف ذلك. أمثلة مثال على استعمال التابع member?‎: a = [1, 2, 3, 4, 5, 0] a.drop_while { |i| i < 3 ...

 التابع ‎ENV.member?‎ في روبي

يتحقَّق التابع ?member إن كان هناك متغير بيئة ذي اسم محدَّد. البنية العامة member?(name) → true or false المعاملات name اسم متغير البيئة المراد التحقق من وجوده. القيمة المعادة تُعاد القيمة true إن كان هناك متغير بيئة بالاسم name. خلا ذلك، تُعاد القيمة false. انظر أيضًا التابع has_key?‎: يتحقَّق إن كان هناك متغير بيئة باسم محدَّد. التابع ?key: يتحقَّق إن كان هنالك متغير بيئة باسم محدَّد. التابع has_value?‎: يتحقَّق إن كان هناك متغير بيئة يملك قيمة محدَّدة. مصادر قسم التابع member?‎ في ...

التابع TarFile.list()‎‎ في بايثون

يطبع التابع جدولًا بمحتويات كائن TarFile إلى مخرجات النظام sys.stdout. البنية العامة TarFile.list(verbose=True, *, members=None) ‎المعاملات ‎verbose إن أخذ المعامل verbose القيمة False، فسيطبع التابع أسماء أعضاء الأرشيف فقط. أما إن أخذ القيمة True (وهي القيمة الافتراضية)، فستكون المخرجات الناتجة مشابهة للمخرجات الناتجة من الأمر ls -l في الصدفة. members معامل اختياري، يجب أن يكون -في حال إعطائه قيمة معينة- مجموعة متفرعة subset من القائمة المعادة من التابع getmembers()‎. ملاحظة: أضيف المعامل members في الإصدار 3.5 من بايثون. القيمة المعادة ...

التابع Struct.members‎ في روبي

يُعيد التابع members أعضاء البنية على هيئة مصفوفة من الرموز. البنية العامة members → array‎ القيمة المعادة يعاد أعضاء البنية على هيئة مصفوفة من الرموز. أمثلة مثال على استخدام التابع members‎: Customer = Struct.new(:name, :address, :zip) joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345) joe.members #=> [:name, :address, :zip]‎ انظر أيضًا التابع length: يُعيد عدد أعضاء البنية. مصادر قسم التابع members‎ في الصنف Struct‎ في توثيق روبي الرسمي.

الصنف Struct في روبي

يُعدُّ استخدام الصنف Struct طريقةً ملائمةً لتجميع مجموعة من الخاصيات (attributes) معًا، باستخدام مداخل (accessor methods) دون الحاجة إلى كتابة صنف جديد. يُنشئ الصنف Struct أصنافًا فرعيةً (subclasses) جديدةً تحمل مجموعة من الأعضاء مقرونة بقيمها. لكل عضو يتم إنشاء قارئ (reader method) وكاتب (writer method) مشابهين للتابع Module.attr_accessor. Customer = Struct.new(:name, :address) do def greeting "Hello #{name}!" end end dave = Customer.new("Dave", "123 Main") dave.name #=> "Dave" dave.greeting #=> "Hello Dave!"‎ راجع صفحة التابع new ...

التابع TarFile.extractfile()‎‎ في بايثون

يستخرج التابع العضو المحدّد في المعاملات من ملف الأرشيف ككائن ملف. البنية العامة TarFile.extractfile(member) المعاملات ‎member يمكن أن يكون المعامل اسم ملف filename أو كائن TarInfo. إن كانت قيمة هذا المعامل ملفًا عاديًا أو وصلة فإنّ التابع سيعيد كائن io.BufferedReader، وإلا فإنّه سيعيد القيمة None. ملاحظة: أصبح التابع يعيد الكائن io.BufferedReader في الإصدار 3.3 من بايثون. القيمة المعادة يعيد التابع كائن ملف يمثّل الملفّ المُستخرج من أرشيف tar. أمثلة يبين المثال التالي آلية عمل التابع: >>> import tarfile >>> tar = ...

التابع Row.keys()‎ في بايثون

يعيد التابع قائمة بأسماء الأعمدة. البنية العامة keys() القيمة المعادة يعيد التابع قائمة بأسماء الأعمدة، وتكون هذه القائمة العنصر الأول في كلّ صفّ tuple في قيمة الخاصية Cursor.description بعد إجراء الاستعلام مباشرة. ملاحظة: أضيف دعم عملية التقطيع في الإصدار 3.5 من اللغة. أمثلة لنفترض أنّنا هيّأنا جدولًا على النحو التالي: conn = sqlite3.connect(":memory:") c = conn.cursor() c.execute('''create table stocks (date text, trans text, symbol text, qty real, price real)''') c.execute("""insert into stocks values ('2006-01-05','BUY','RHAT',100,35.14)""") conn.commit() c.close() يمكننا ...

أنواع البيانات (Data Types) في Kotlin

إن كلَّ عنصرٍ في Kotlin يعد كائنًا إذ يمكن استدعاء الدوال (member functions) والخاصّيّات (properties) عبر أي متغيِّر (variable)، ولبعض الأنواع تمثيلها الداخلي الخاص بها؛ فعلى سبيل المثال تُمثَّل الأعداد والمحارف والقيم المنطقية (boolean) كقيمٍ أساسيّةٍ أثناء التشغيل (runtime) ولكنها بالنسبة للمستخدم مجرّد أصنافٍ عادية، وتناقش هذه الصفحة الأنواع الرئيسيّة للبيانات في Kotlin وهي: الأعداد، والمحارف، والقيم المنطقية (boolean)، والمصفوفات، والسلاسل النصيّة. الأعداد (Numbers) تتعامل لغة Kotlin مع البيانات العدديّة بطريقةٍ مماثلةٍ للغة Java ولكن بفوارق بسيطة، فلا تدعم مثلًا ...

التابع ZipFile.extractall()‎‎ في بايثون

يستخرج التابع جميع الأعضاء في ملف الأرشيف إلى المجلد الحالي. البنية العامة ZipFile.extractall(path=None, members=None, pwd=None) ‎المعاملات ‎path يحدّد المعامل مسارًا بديلًا لاستخراج الملفات فيه. members معامل اختياري يجب أن يكون مجموعة فرعية من القائمة المعادة بواسطة التابع namelist()‎. pwd كلمة المرور المستخدمة لتعمية الملفات. تحذير لا تستخرج ملفات الأرشيف القادمة من مصادر غير موثوقة دون فحصها. من الممكن أن تكون الملفات قد أنشئت خارج المسار المحدد في المعامل path (مثل: ملفات تبدأ أسماءها بخط مائل "/" أو تتضمّن نقطتين ".."). ...

التحكم بالتدفق (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 // ...

الانعكاس (Reflection) في لغة Kotlin

الانعكاس هو مجموعةٌ من مميّزات اللغة والمكتبات التي تسمح بمراقبة بُنية البرنامج أثناء التنفيذ، إذ تولي لغة Kotlin أهميةً كبرى لكلٍّ من الدوال (functions) والخاصّيّات (properties) وتستمر بتتبُّعها (مثل معرفة اسم أو نوع الخاصّيّة والدالة أثناء التنفيذ) وهذا يرتبط ارتباطًا وثيقًا مع استخدام النمط الوظائفيّ (functional) أو التفاعليّ (reactive). ملاحظة: إن الجزء التنفيذيّ (runtime component) المطلوب في منصّة العمل Java لاستخدام ميزات الانعكاس يُوزَّع كملف ‎.jar مستقلٍّ (kotlin-reflect.jar) وذلك بهدف تخفيض حجم التخزين المطلوب لمكتبة التنفيذ (runtime library) للتطبيقات غير ...

مُحدِّدات الوصول (Visibility Modifiers) في لغة Kotlin

تُعيِّن مُحدِّدات الوصول قابليةَ الوصول إلى كلٍّ من الأصناف (classes) والكائنات (objects) والواجهات (interfaces) والدوال (functions) والخاصّيّات (properties) ودوال الوصول إليها من النوع setters (لأن مُحدِّد الوصول إلى getter مماثلٌ للوصول إلى الخاصّيّة نفسها)، وهناك أربعة أنواعٍ من المُحدِّدات وهي: private و protected و internal و public والنوع الافتراضيّ منها هو public (يُستخدم عند عدم وجود تصريحٍ عن إحداها)، وفيما يلي شرح لكيفيّة تطبيق المُحدِّدات على أنواعٍ مختلفةٍ من التصريحات (declarations). الحزم (Packages) يمكن تعريف كلٍّ من الدوال والخاصّيّات والأصناف ...

التابع TarFile.extract()‎‎ في بايثون

يستخرج التابع عضوًا من ملف الأرشيف إلى المجلد الحالي مستخدمًا اسمه الكامل، ويجري استخراج معلومات الملف الخاص به بأكبر دقة ممكنة. البنية العامة TarFile.extract(member, path="", set_attrs=True, *, numeric_owner=False) المعاملات member ‎يمكن للعضو المراد استخراجه من الأرشيف أن يكون اسم ملف filename أو كائن TarInfo. path يمكن تعيين مجلد مختلف باستخدام المعامل path الذي يمكن أن يكون كائنًا شبيهًا بالمسارات path-like object. ملاحظة: أصبح بالإمكان استخدام كائنات شبيهة بالمسارات path-like objects مع المعامل path في الإصدار 3.6 من بايثون. set_attrs إن ...

الكلمات المفتاحية (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 ...

التابع Struct.length‎ في روبي

يُعيد التابع length عدد أعضاء البنية. البنية العامة length → integer‎ القيمة المعادة يعاد عدد أعضاء البنية. أمثلة مثال على استخدام التابع length‎: Customer = Struct.new(:name, :address, :zip) joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345) joe.length #=> 3‎ انظر أيضًا التابع inspect: يعيد سلسلة نصية تحتوي وصفًا لهذه البنية. التابع members: يُعيد أعضاء البنية على هيئة مصفوفة من الرموز. مصادر قسم التابع length‎ في الصنف Struct‎ في توثيق روبي الرسمي.

التابع Hash.include?‎ في روبي

يتحقق التابع include?‎ إذا كان مفتاحٌ معيَّن موجودًا في الكائن Hash المعطى. انتبه إلى أنَّ التابع include?‎ والتابع member?‎ لا يختبرا تساوي الأعضاء باستخدام المعامل == كما تفعل غيرها من التوابع المحصية (enumerables). البنية العامة include?(key) → true or false المعاملات key المفتاح المراد التحقق من وجوده. القيمة المعادة تعاد القيمة true إذا كان المفتاح key موجودًا في الكائن Hash المعطى. أمثلة مثال على استعمال التابع include?‎: h = { "a" => 100, "b" => 200 } h.has_key?("a") #=> true h.has_key?("z") ...

المُنشِئ الحافظ للنوع (Type-Safe Builder) في لغة Kotlin

المُنشِئ الحافظ للنوع (Type-Safe Builder) يُتاح بناءُ المُنشِئ الستاتيكيّ الحافظ للنوع في لغة Kotlin باستخدام الدوال ذات التسمية المعبِّرة كمُنشِئ (builder) بالإضافة إلى قيم حرفية (literals) للدوال مع المستقبِل (receiver)، إذ يسمح المُنشِئ الحافظ للنوع ببناء لغات مُخصَّصة المجال (DSL) بالاعتماد على Kotlin بما يتناسب مع إنشاء بُنى البيانات الهرميّة المعقَّدة بطريقةٍ نصف تصريحية (semi-declarative)، وهذه بعض الأمثلة من حالات استخدامه: توليد ترميزٍ (markup) باستخدام شيفرة Kotlin مثل HTML أو XML تصميم أجزاء واجهات المستخدم (UI) برمجيًا مثل Anko ضبط ...

التابع Hash.value?‎ في روبي

يتحقق التابع value?‎ إذا كانت القيمة المُمرَّرة إليه موجودةً ومرتبطةً بمفتاح ما في الكائن Hash المعطى. البنية العامة value?(value) → true or false المعاملات value القيمة المراد التحقق من وجودها وارتباطها بمفتاح في الكائن Hash المعطى. القيمة المعادة تعاد القيمة true إذا كانت القيمة المُمرَّرة إليه موجودةً ومرتبطةً بمفتاح ما في الكائن Hash المعطى. أمثلة مثال على استعمال التابع value?‎: h = { "a" => 100, "b" => 200 } h.value?(100) #=> true h.value?(999) #=> false انظر أيضا التابع ...

التابع Hash.has_key?‎ في روبي

يتحقق التابع has_key?‎ إذا كان مفتاحٌ معيَّن موجودًا في الكائن Hash المعطى. انتبه إلى أنَّ التابع include?‎ والتابع member?‎ لا يختبرا تساوي الأعضاء باستخدام المعامل == كما تفعل غيرها من التوابع المحصية (enumerables). البنية العامة has_key?(key) → true or false المعاملات key المفتاح المراد التحقق من وجوده. القيمة المعادة تعاد القيمة true إذا كان المفتاح key موجودًا في الكائن Hash المعطى. أمثلة مثال على استعمال التابع has_key?‎: h = { "a" => 100, "b" => 200 } h.has_key?("a") #=> true h.has_key?("z") ...

التابع Hash.key?‎ في روبي

يتحقق التابع key?‎ إذا كان مفتاحٌ محدَّدٌ موجودًا في الكائن Hash المستدعى معه. انتبه إلى أنَّ التابع include?‎ والتابع member?‎ لا يختبرا تساوي الأعضاء باستخدام المعامل == كما تفعل غيرها من التوابع المحصية (enumerables). البنية العامة key?(key) → true or false المعاملات key المفتاح المراد التحقق من وجوده في الكائن الكائن Hash المعطى. القيمة المعادة تعاد القيمة true إذا كان المفتاح key موجودًا في الكائن Hash المعطى. أمثلة مثال على استعمال التابع key?‎: h = { "a" => 100, "b" => ...

الكائن JSON في JavaScript

الكائن JSON يحتوي على الدوال التي تُفسِّر صيغة JavaScript Object Notation (اختصارًا JSON) وتحوّل القيم إلى صيغة JSON. ليس الغرض من هذا الكائن هو تهيئته أو بناؤه (عبر المعامل new)، وليس له عملٌ خاصٌ به باستثناء وجود دالتين تابعتين له. الوصف صيغة JSON هي صيغة لتخزين الكائنات والمصفوفات والأعداد والسلاسل النصية والقيم المنطقية والقيمة null؛ وهي مبنية على صيغة JavaScript لكنها تختلف عنها، فبعض شيفرات JavaScript ليست صالحةً في JSON، وبعض شيفرات JSON ليس صالحةً في JavaScript. الجدول الآتي يعرض ...

التابع Struct.select‎ في روبي

يمرر التابع select قيم كل أعضاء البنية إلى الكتلة المعطاة ويعيد مصفوفة تحتوي قيم الأعضاء التي أعادت الكتلة معها القيمة true. هذا التابع يكافئ التابع Enumerable.select. البنية العامة select {|obj| block } → array select → enumerator‎ القيمة المعادة تعاد مصفوفة تحوي أعضاء البنية التي أعيدت القيمة true معها بعد تمريرها إلى الكتلة block المعطاة. يعاد كائن من النوع enumerator إن لم تعطَ الكتلة block. أمثلة مثال على استخدام التابع select‎: Lots = Struct.new(:a, :b, :c, :d, :e, :f) l = ...

الخاصّيّات (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 = ... } إذ يُمكن الوصول للخصائص عبر اسمها ...

المزخرفات في TypeScript

مقدمة مع إضافة الأصناف إلى TypeScript ونسخة ES6، فقد ظهرت كذلك حاجةٌ إلى ميزات إضافية لدعم تعديل الأصناف وعناصر الأصناف أو توصيفها (annotating). توفّر المزخرفات (Decorators) طريقة لإضافة توصيفات وبنية برمجة وصفيّة (meta-programming) لتصريحات الأصناف وعناصرها. المزخرفات حاليًّا اقتراح في المرحلة 2 (stage 2 proposal) في JavaScript وهي متوفّرة كميّزة تجريبيّة في TypeScript. ملاحظة: المزخرفات ميّزة تجريبيّة قد تتغيّر في النسخ الجديدة مستقبلًا. لتفعيل الدعم التجريبي للمزخرفات، عليك تفعيل خيار المترجم ‎experimentalDecorators‎ إما على سطر الأوامر أو في ملفّ ‎tsconfig.json‎ ...

الثوابت المتعددة في TypeScript

مقدمة تسمح لنا الثوابت المتعدّدة بتعريف مجموعة مُسمّاةٍ من الثوابت (set of named constants). استخدام الثوابت المتعدّدة يُسهّل توضيحَ نية استعمال الشيفرة أو إنشاء مجموعة حالات مختلفة. تُوفّر TypeScript كلا من الثوابت المتعددة المعتمِدة على الأعداد وتلك المُعتمِدة على السلاسل النصية كذلك. الثوابت المتعددة العددية (Numeric enums) سنبدأ بالثوابت المتعددة العددية، والتي ستكون مألوفة لمن هو آتٍ من لغات البرمجة الأخرى. يُمكن تعريف ثابت متعدّد بالكلمة المفتاحية ‎enum‎: enum Direction { Up = 1, ...

الكائنات في PHP

تهيئة الكائن لإنشاء كائن جديد، استخدم التعبير البرمجي new لتهيئة كائن من صنفٍ ما (class): <?php class foo { function do_foo() { echo "Doing foo."; } } $bar = new foo; $bar->do_foo(); ?> راجع فصل الأصناف والكائنات (Classes and Objects) للمزيد من المعلومات. التحويل إلى كائن إذا حوّلنا كائنًا إلى كائنٍ آخر فلن يُعدَّل فيه شيء، أما إذا حولنا قيمةً من أي نوعٍ آخر إلى كائن، فستُنشَأ نسخةً جديدةً من ...

الكائنات في PHP

تهيئة الكائن لإنشاء كائن جديد، استخدم التعبير البرمجي new لتهيئة كائن من صنفٍ ما (class): <?php class foo { function do_foo() { echo "Doing foo."; } } $bar = new foo; $bar->do_foo(); ?> راجع فصل الأصناف والكائنات (Classes and Objects) للمزيد من المعلومات. التحويل إلى كائن إذا حوّلنا كائنًا إلى كائنٍ آخر فلن يُعدَّل فيه شيء، أما إذا حولنا قيمةً من أي نوعٍ آخر إلى كائن، فستُنشَأ نسخةً جديدةً من ...

التابع Enumerable.include?‎ في روبي

يتحقق التابع include?‎ من احتواء كائن قابل للتعداد على عنصر محدَّد. يُتحقَّق من عملية التساوي عبر المعامل ==. البنية العامة include?(obj) → true or false المعاملات obj الكائن المراد التحقق من وجوده ضمن عناصر الكائن القابل للتعداد المعطى. القيمة المعادة تعاد القيمة true إن احتوى الكائن القابل للتعداد المعطى على العنصر obj، أو تعاد القيمة false خلاف ذلك. أمثلة مثال على استعمال التابع include?‎: IO.constants.include? :SEEK_SET #=> true IO.constants.include? :SEEK_NO_FURTHER #=> false IO.constants.member? ...

الخاصّيّات المُعمَّمة (Delegated Properties) في لغة Kotlin

 استخدام الخاصّيّات المُعمَّمة تستطيع في لغة Kotlin تعريف استخدام (implement) الخاصّيّات يدويًا مرارًا وتكرارًا بكل مرةٍ تحتاجها، ولكن من الأسهل تعريف استخدامها مرةً واحدةً وتخزين هذا التعريف في المكتبة (library) للاستفادة منه كلما دعت الحاجة، وهذا يشمل: الخاصّيّات الكسولة (Lazy property): تُحسب قيمتها مرةً واحدةً فقط وذلك عند الوصول إليها للمرّة الأولى. الخاصّيّات المُراقَبة (observable property): إذ يُستدعَى مسؤول الانتظار (listener) عند حدوث أي تغييرٍ في الخاصّيّة. تخزين الخاصّيّات في map بدلًا من حقلٍ منفصلٍ لكلِّ منها. وتشمل لغة Kotlin ...

الصنف ObjectSpace::WeakMap في روبي

يحتفظ كائن الصنف ObjectSpace::WeakMap بمراجع أيِّ كائن، لكن قد تخضع هذه الكائنات لعملية جمع المهملات (garbage collected). يُستخدَم هذا الصنف في أغلب الأحيان داخليًا من قبل الصنف WeakRef؛ استخدم lib/weakref.rb رجاءً من أجل الواجهة العامَّة. توابع الصنف العامة (Public Instance Methods) [] يعيد كائنًا ذو مرجع ضعيف (weakly referenced) مع المفتاح المُعطى. =[] يُنشئ مرجعًا ضعيفًا (weak reference) من المفتاح المُعطى إلى القيمة المعطية. each يتكرَّر على المفاتيح والكائنات في كائنٍ ذي مرجعٍ ضعيفٍ (weakly referenced object). each_key يتكرَّر على ...

الصنف ObjectSpace::WeakMap في روبي

يحتفظ كائن الصنف ObjectSpace::WeakMap بمراجع أيِّ كائن، لكن قد تخضع هذه الكائنات لعملية جمع المهملات (garbage collected). يُستخدَم هذا الصنف في أغلب الأحيان داخليًا من قبل الصنف WeakRef؛ استخدم lib/weakref.rb رجاءً من أجل الواجهة العامَّة. توابع الصنف العامة (Public Instance Methods) [] يعيد كائنًا ذو مرجع ضعيف (weakly referenced) مع المفتاح المُعطى. =[] يُنشئ مرجعًا ضعيفًا (weak reference) من المفتاح المُعطى إلى القيمة المعطية. each يتكرَّر على المفاتيح والكائنات في كائنٍ ذي مرجعٍ ضعيفٍ (weakly referenced object). each_key يتكرَّر على ...

التابع Enumerable.none?‎ في روبي

يتحقق التابع none?‎ من خلو كائن قابل للتعداد من أي عنصر محقِّق للكتلة المعطاة (لا تعيد مع أي عنصر القيمة true) أو مطابق للنمط محدَّد. البنية العامة none? [{ |obj| block }] → true or false none?(pattern) → true or false المعاملات pattern نمط يراد التحقق من عدم مطابقته لأي عنصر من عناصر الكائن القابل للتعداد المعطى. القيمة المعادة تعاد القيمة true إن لم تعيد الكتلة block القيمة true لجميع عناصر الكائن القابل للتعداد بعد تمرير كل واحد منها إليها، أو لم يتطابق ...

التابع TarFile.extractall()‎‎ في بايثون

يستخرج التابع جميع الأعضاء من ملف الأرشيف إلى المجلد الحالي أو المسار المعطى. البنية العامة TarFile.extractall(path=".", members=None, *, numeric_owner=False) المعاملات ‎memebers معامل اختياري، ويجب أن يكون مجموعة متفرّعة subset من القائمة المعادة من التابع getmembers()‎. يجري تحديد المعلومات الخاصة بالمجلد مثل صاحب المجلد ووقت التعديل والأذونات بعد استخراج جميع الأعضاء من ملف الأرشيف، ويحدث هذا لسببين: يعاد تعيين قيمة وقت التعديل للمجلد في كل مرة يتم فيها إنشاء ملف جديد فيه. إن لم تسمح أذونات مجلّد معين بالكتابة فيه، ستفشل ...

التابع Enumerable.one?‎ في روبي

يتحقق التابع one?‎ من احتواء كائن قابل للتعداد على عنصر واحد فقط محقِّق للكتلة المعطاة (لا تعيد مع أي عنصر القيمة true باستثناء عنصر واحد فقط) أو مطابق للنمط محدَّد. البنية العامة one? [{ |obj| block }] → true or false one?(pattern) → true or false المعاملات pattern نمط يراد التحقق من مطابقته لعنصر واحد فقط من عناصر الكائن القابل للتعداد المعطى. القيمة المعادة تعاد القيمة true إن إن أعادت الكتلة block القيمة true لعنصر واحد فقط من عناصر الكائن القابل للتعداد بعد ...

Kotlin/Topics

بُنية لغة Kotlin مشابهةٌ لبنية لغة البرمجة Java بوصفها كائنيّة التوجه (OOP)، وبالتالي فهي تعتمد أساسًا على وجود الأصناف (classes) التي تحتوي بدورها على الخاصّيّات (properties) والدوال (functions)، كما وتدعم Kotlin العلاقات فيما بينها مثل الوراثة (inheritance) من صنفٍ أعلى (superclass) أو التداخل فيما بينها (nesting classes)، وتمتاز بوجود مُحدِّدات الوصول (visibility modifiers) للتحكم بعمليات الوصول للبيانات المُخزَّنة، وكذلك فهي تعتمد في بُنيتها على الحزم (packages) والمكتبات (libraries) التي تحتوي على الدوال المساعدة عند الحاجة إليها، أمّا عن بُنية التعليمات ...

الدالة 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 الكائن المراد استعماله مع الكائن المعطى في إنشاء كائن من ...

أسئلة شائعة عن لغة 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)، وهي بهذا تتيح -في تطبيقات الخادم- إمكانيّة التوسّع لعددٍ ...

أنماط الشيفرات المُتعارَف عليها ما بين مبرمجي 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 ...

الدالة 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( ...

عرض (100 السابقة | 100 التالية) (20 | 50 | 100 | 250 | 500).