نتائج البحث

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

الدالة toCollection()‎ في Kotlin

تضيف الدالة toCollection()‎ كل محارف السلسلة التي استٌدعيت معها إلى المجموعة المتغيرة المُمرّرة إليها. البنية العامة fun <C : MutableCollection<in Char>> CharSequence.toCollection( destination: C ): C المعاملات مجموعة متغيرة يراد أن يضاف فيها محتوى سلسلة المحارف المعطاة. القيم المعادة يعاد المعامل destination بعد إضافة محتوى سلسلة المحارف المعطاة إليه. أمثلة مثالٌ على استعمال الدالة toCollection()‎: fun main(args: Array<String>) { val list: MutableList<Char> = mutableListOf() val str = "wikiHsoub" str.toCollection(list) ...

الدالة toByteArray()‎ في Kotlin

ترمز الدالة toByteArray()‎ جميع محارف السلسلة النصية التي استٌدعيت معها وفقًا لترميز محدد ثم تضع الناتج في مصفوفة من النوع ByteArray. البنية العامة inline fun String.toByteArray( charset: Charset = Charsets.UTF_8 ): ByteArray بيئة التشغيل المطلوبة: JVM. يُلاحَظ وجود الكلمة المفتاحية inline للدلالة على أن هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة الدوال المباشرة (inline functions)). المعاملات charset اسم الترميز المراد تحويل محارف السلسلة النصية المعطاة إليه. القيمة الافتراضية هي: Charsets.UTF_8. القيم المعادة تعاد مصفوفة من النوع ByteArray تحوي ناتج ترميز جميع ...

الدالة toPattern()‎ في Kotlin

تحول الدالة toPattern()‎ السلسلة النصية التي استٌدعيت معها إلى نمط. البنية العامة inline fun String.toPattern(flags: Int = 0): Pattern منصة التشغيل المطلوبة: JVM. يُلاحَظ وجود الكلمة المفتاحية inline للدلالة على أن هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة الدوال المباشرة (inline functions)). المعاملات flags عدد صحيح يستعمل لتقسيم أو مطابقة السلسلة النصية المعطاة. القيم المعادة يعاد كائن من النوع Pattern. أمثلة مثالٌ على استعمال الدالة toPattern()‎: fun main(args: Array<String>) { println("""-?\d+(\.\d+)?""".toPattern()) // -?\d+(\.\d+)? // يطابق هذا التعبير النمطي القيم ...

الدالة toLowerCase()‎ في Kotlin

تحوّل الدالة toLowerCase()‎ المحرف أو جميع محارف السلسلة النصية التي استٌدعيت معها إلى محارف صغيرة (lowercase). البنية العامة inline actual fun Char.toLowerCase(): Char inline actual fun String.toLowerCase(): String inline fun String.toLowerCase(locale: Locale): String المنصة المطلوبة: JVM. وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). المعاملات locale المحلية المراد ضبطها إلى منطقة جغرافية محددة وأخذها بالحسبان أثناء عملية التحويل. القيم المعادة يعاد المحرف المعطى بعد تحويله إلى محرف صغير، أو تعاد السلسلة النصية المعطاة ...

الدالة toLowerCase()‎ في Kotlin

تحوّل الدالة toLowerCase()‎ المحرف أو جميع محارف السلسلة النصية التي استٌدعيت معها إلى محارف صغيرة (lowercase). البنية العامة inline actual fun Char.toLowerCase(): Char inline actual fun String.toLowerCase(): String inline fun String.toLowerCase(locale: Locale): String المنصة المطلوبة: JVM. وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). المعاملات locale المحلية المراد ضبطها إلى منطقة جغرافية محددة وأخذها بالحسبان أثناء عملية التحويل. القيم المعادة يعاد المحرف المعطى بعد تحويله إلى محرف صغير، أو تعاد السلسلة النصية المعطاة ...

بنية البرمجة في لغة 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 ...

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

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

أوامر الرجوع (Returns) والقفز (Jumps)

تعابير القفز تمتاز لغة Kotlin بوجود ثلاثة تعابير (expressions) لنقل سياق البرنامج وهي: return: للرجوع من أقرب دالةٍ محيطةٍ (enclosing) أو دالةٍ مجهولةٍ (anonymous function). break : تنهي أقرب حلقةٍ محيطة. continue : تستمر بالخطوة التالية لأقرب حلقةٍ محيطة. إذ يُسمَح باستخدام أيّ من التعابير السابقة كجزءٍ من تعبيرٍ أكبر، مثل: val s = person.name ?: return ونوع هذه التعابير هو Nothing type. تسمية الأوامر Break و Continue يٌتاح في لغة Kotlin تحديد تسميةٍ (label) لأيّ تعبير، إذ تتألف هذه التسمية من مُحدِّدٍ ...

استخدام لغة Kotlin في تطوير تطبيقات الخادم (Server)

تُعدّ لغة Kotlin أداةً قويةً في تطوير تطبيقات الخادم (server)؛ إذ تكون الشيفرات فيها دقيقةً ومعبِّرة، وتمتاز بالتوافقيّة التامّة مع لغة Java ومن السهل تعلُّمها بسرعة. ميزات استخدام لغة Kotlin لتطوير تطبيقات الخادم (Server) القدرة على التعبير (Expressiveness): تساعد مميّزات لغة Kotlin المبتكرَة (مثل دعمها للمنشِئ الحافظ للنوع (type-safe builder) والخاصّيات المُعمّمة (delegated properties)) على إنشاء البنى التجريديّة (abstraction) سهلةِ الاستخدام. قابلية التوسّع (Scalability): تدعم لغة Kotlin ميّزة الروتينات المساعدة (coroutines)، وهي بهذا تتيح -في تطبيقات الخادم- إمكانيّة التوسّع لعددٍ ...

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

الاستثناءات (Exceptions) في لغة Kotlin

أصناف الاستثناءات (Exception Classes) تنحدر كلّ أصناف الاستثناءات في لغة Kotlin من الصنف Throwable حيث يوجد لكلِّ استثناءٍ رسالةٌ للإعلام به وتتبُّع تكديسي (stack trace) وسببٌ اختياريّ. ويُستخدَم التعبير throw لرمي كائن استثناءٍ بالشكل: throw MyException("Hi There!") أمّا تعبير try فهو مُستخدَمٌ لكشف الاستثناء كما في الشيفرة: try { // شيفرة } catch (e: SomeException) { // معالجات الاستثناء } finally { // قسم اختياريّ } ومن الممكن أن يحتوي الاستثناء أكثر من قسمٍ واحدٍ من catch أو ...

أمان القيم الفارغة (Null) في لغة Kotlin

الأنواع Nullable والأنواع Non-Null يهدف نظام الأنواع في Kotlin إلى الحدِّ من أخطار القيمة الفارغة null في الشيفرات، إذ إنّ أحد الأخطاء الأكثر شيوعًا في لغات البرمجة -بما فيها لغة Java- هو أنّ محاولة الوصول إلى مرجعيّةٍ تحتوي على القيمة null سيؤدي إلى حدوث استثناءٍ مرجعيّ (reference exception)، ويُدعى هذا الاستثناء في لغة Java باسم NullPointerException أو NPE اختصارًا، أمّا Kotlin فهي تحدُّ من هذا الاستثناء ليقتصر على الحالات الآتية: استدعاءٌ صريحٌ بالشكل: throw NullPointerException()‎ استخدام المعامل !! (كما سيُشرح لاحقًا) ...

التهيئة الأولية للصنف Regex في Kotlin

تنشئ الدالة Regex()‎ تعبيرًا نمطيًا (regular expression) انطلاقًا من السلسلة النصية المُمرّرة إليه. البنية العامة Regex(pattern: String) Regex(pattern: String, option: RegexOption) Regex(pattern: String, options: Set<RegexOption>) تنشئ الدالة Regex()‎ تعبيرًا نمطيًا من النمط pattern مع ضبطه وفقًا الخيار option أو مجموعة الخيارات options (أو القيمة الافتراضية لهذه الخيارات إن لم يعطَ الوسيط option) التي تضبط ذلك النمط. المعاملات pattern سلسلة نصية تمثل النمط الذي سينشأ منه تعبير نمطي. option كائن من النوع RegexOption يحوي خيارًا واحدًا من خيارات التعابير النمطية. options مجموعة تتألف من ...

التهيئة الأولية للصنف Regex في Kotlin

تنشئ الدالة Regex()‎ تعبيرًا نمطيًا (regular expression) انطلاقًا من السلسلة النصية المُمرّرة إليه. البنية العامة Regex(pattern: String) Regex(pattern: String, option: RegexOption) Regex(pattern: String, options: Set<RegexOption>) تنشئ الدالة Regex()‎ تعبيرًا نمطيًا من النمط pattern مع ضبطه وفقًا الخيار option أو مجموعة الخيارات options (أو القيمة الافتراضية لهذه الخيارات إن لم يعطَ الوسيط option) التي تضبط ذلك النمط. المعاملات pattern سلسلة نصية تمثل النمط الذي سينشأ منه تعبير نمطي. option كائن من النوع RegexOption يحوي خيارًا واحدًا من خيارات التعابير النمطية. options مجموعة تتألف من ...

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

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

الأصناف المُغلَقة (Sealed Classes) في لغة Kotlin

تُستخدَم الأصناف المُغلَقة لتمثيل الهرميّة (hierarchy) المحدودة للأصناف؛ وذلك عندما يكون نوع القيمة هو أحد الأنواع الموجودة في مجموعةٍ مُحدَّدةٍ (limited set) وليس أيّ نوع آخر، وبالتالي تُعدُّ هذه الأصناف إضافةً (extension) لأصناف الثوابت المُتعدَّدة (enum classes)، إذ إنّ مجموعة القيم لنوع enum محدودة أيضًا ولكل ثابت فيها نسخةٌ (instance) واحدةٌ فقط، بينما يمكن أن يكون للصنف الفرعيّ (subclass) من الصنف المغلق أكثر من نسخةٍ تحتوي على الحالة (case). ويُستخدَم المُحدِّد (modifier)‏ sealed قبل اسم الصنف للتصريح عن أنّه من ...

الأصناف المتداخلة (Nested) والداخلية (Inner) في لغة Kotlin

الأصناف المتداخلة (Nested) يُمكن للأصناف أن تتداخل فيما بينها، ويتَّضح ذلك عبر المثال الآتي: class Outer {    private val bar: Int = 1    class Nested {        fun foo() = 2    } } val demo = Outer.Nested().foo() // == 2 إذ يتوضَّع الصنف باسم Nested داخل الصنف Outer ، وعند تعريف المتغيِّر demo فهو سيأخذ القيمة من الدالة foo والموجودة في الصنف Nested المُعرَّف بالصنف Outer والتي هي القيمة 2. الأصناف الداخليَّة (Inner Classes) يُمكن تحديد الصنف كصنفٍ داخليٍّ بالكلمة المفتاحيّة inner وذلك بهدف إتاحة الوصول لكافّة عناصر ...

المجالات (Ranges) في لغة Kotlin

استخدام المجالات تُصاغُ تعابير المجالات (range expressions) من خلال دوال rangeTo التي تعتمد على المعامل .. والذي بدوره يتُمَّم بالمعاملين inو ‎!in، إذ من الممكن أن يُعرَّف المجال لأيّ نوعٍ يقبل المقارنة، أما في حالة الأنواع الأساسيّة المتكاملة (integral primitive types) فلها تعريف استخدام مُحسَّن (optimized)، وهذه بعض الأمثلة: if (i in 1..10) { // مكافئ للصياغة // 1 <= i && i ...

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

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

عوامل الأعداد الثنائية في PHP

تتيح عوامل الأعداد الثنائية تقدير ومعالجة بتات (bits) معينة ضمن العدد الصحيح. مثال الاسم النتيجة ‎$a & $b And و يُعيد 1 مكان كل بت له القيمة 1 في كلٍّ من ‎$a و ‎$b. ‎$a | $b Or أو (الضمنية) يُعيد 1 مكان كل بت له القيمة 1 في ‎$a أو ‎$b أو كلاهما. ‎$a ^ $b Xor أو (غير الضمنية) يُعيد 1 مكان كل بت له القيمة 1  في ‎$a أو ‎$b وليس كلاهما. ‎~ $a Not النفي يعكس ...

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