نتائج البحث

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

الحزم (Packages) في Kotlin

التصريح عن الحزم يبدأ الملف المصدريّ (source file) عادةً بالتصريح (declaration) عن الحزم مثل: package foo.bar fun baz() {} class Goo {} // ... ويتوضع حينها كلُّ ما يحتويه هذا الملف (كالأصناف [classes] والدوال [functions] مثلًا) في الحزمة المُصرَّح عنها ببدايته، ففي الشيفرة السابقة إن الاسم الفعليّ الكامل للدالة baz()‎ هو foo.bar.baz والاسم الكامل للصنف Goo هو foo.bar.Goo. وإذا لم تُحدَّد الحزمة في بداية الملف فإن محتوياته تتبع للحزمة الافتراضيّة "default" التي لا اسم لها. استيراد الحزم الافتراضيّة (Default Imports) يُستورَد عددٌ من الحزم ...

الحزم Packages في بايثون

تعدّ الحزم طريقة لهيكلة مجالات أسماء الحزم في بايثون، وذلك باستخدام أسماء الحزم المنقطة (dotted module names). فعلى سبيل المثال يعبّر اسم الحزمة A.B عن أن الحزمة B هي جزء من الحزمة A. وكما أنّ الوحدات تساعد في تجنّب حدوث أي تضارب بين أسماء المتغيرات العامة، فإنّ أسماء الحزم المنقطة تساعد في تجنب حدوث أي تضارب بين أسماء الوحدات في الحزم متعدّدة الوحدات مثل NumPy أو مكتبة بايثون لمعالجة الصور Python Imaging Library. لنفترض أنّك ترغب في تصميم مجموعة من ...

الحزم (Package development) في Laravel

مقدمة الحزم هي الطريقة الأولى لإضافة وظائف ل Laravel. يمكن أن تكون الحزم أي شيء مثل طريقة للعمل مع التواريخ مثل Carbon أو إطار متكامل لاختبار قواعد البيانات مثل Behat. طبعًا، يوجد أنواع مختلفة من الحزم. بعض الحزم مكتفية بذاتها أي أنها تعمل مع أي إطار PHP مثل Behat و Carbon. يمكن طلب أي من هذه الحزم عبر الملف composer.json. من جهة أخرى، بعض الحزم مصنوعة خصيصا ل Laravel. هذه الحزم لديها مسارات، وحدات تحكم،  واجهات، وملفات ضبط معدة خصيصًا ...

بنية البرمجة في لغة Kotlin

تعريف الحزم (Package) يُكتب توصيف الحزمة (package) في بداية الملف المصدريّ (source file) بالشكل الآتي: package my.demo import java.util.* // ... ولا يُشترط التوافق ما بين الحزمة (package) والمجلد الذي توجد فيه (directory)، إذ من الممكن أن تتوضع الملفات المصدريّة عشوائيًّا في نظام الملفات. المزيد عن الحزم (packages). تعريف الدوال (Function) إن كانت الدالة بمتحولين من نوع Int وتعيد قيمةً بنوع Int أيضًا، فسيصبح تعريفها بالشكل: fun sum(a: Int, b: Int): Int {   return a + b } أما الشيفرة الآتية فهي لتعريف دالةٍ باسم sum ...

الخاصية MatchResult.destructured‎ في Kotlin

تمثل الخاصية MatchResult.destructured‎ نسخةً من الصنف Destructured توفّر مكونات عملية الإسناد بالتفكيك (destructuring assignment) التي تطبق على قيم المجموعة المُطابقة. تطابق الدالة component1 قيمة المجموعة الأولى، وتطابق الدالة component2 قيمة المجموعة الثانية، وهلم جرًا. البنية العامة open val destructured: Destructured القيمة المعادة تعاد نسخةٌ من الصنف Destructured. أمثلة ينشِئ التابع Regex()‎ في الشيفرة التالية تعبيرًا نمطيًا باسم regex لتفكيك مسارات الملفات إلى ثلاث مُركّبات: المجلد (directory) واسم الملف (fileName) والامتداد (extension)، ثم نعرّف سلسلة نصية باسم fullPath تحتوي مسار أحد الملفات، ثم نستخرج من fullPath مجموعات النتائج عبر استدعاء الدالة ...

Kotlin/Topics

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

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

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

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

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

التوصيفات (Annotations) في لغة Kotlin

التصريح عن التوصيف (Annotation Declaration) تُعدُّ التوصيفات إحدى الوسائل لإضافة بياناتٍ توصيفيّةٍ (metadata) إلى الشيفرة، وللتصريح عن التوصيف يُضاف المُحدِّد annotation قبل اسم الصنف، مثل: annotation class Fancy وقد تُحدَّد بعض خواصّ التوصيفات (annotation attributes) باستخدام التوصيفات الآتية (meta-annotations) لتوصيفات الصنف: ‎@Target لتحديد نوع العناصر التي يمكن توصيفها مثل الأصناف (classes) والدوال (functions) والخاصّيّات (properties) والتعابير (expressions) و... إلخ. ‎@Retention لتحديد فيما إن كان التوصيف مُخزَّنًا في ملفات الأصناف المُترجَمة، أو مرئيًا عبر انعكاسٍ (reflection) أثناء التنفيذ (runtime) (وكلاهما محقُّق بالحالة ...

المشاريع متعددة المنصات (Multiplatform) في لغة Kotlin

ملاحظة: ما تزال ميّزة تعدّد منصّات العمل تجريبيّة في الإصدار Kotlin 1.2 وبالتالي فإن ما تحتويه هذه الصفحة قد يخضع للتغيير في إصدارات Kotlin القادمة. يسمح مشروع Kotlin متعدّد المنصّات بترجمة الشيفرة ذاتها إلى عدّة منصّاتٍ للعمل (platforms)، وتدعم Kotlin حاليًا البيئات: JVM و JavaScript بالإضافة إلى Native والتي لا زلت قيد التطوير وستُضاف رسميًا فيما بعد. بُنية المشروع متعدّد المنصّات (Multiplatform Project Structure) يتألف من ثلاثة أنواع من الوحدات (modules): الوحدة المشتركة (common module): تحتوي على الشيفرة العامّة التي ...

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