نتائج البحث

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

تبديل المرجع إلى قيمة (Change Reference to Value)

المشكلة وجود كائن مرجع صغير جدًا نادرًا ما يتغيَّر لتبرير إدارة دورة حياته. الحل تحويله إلى كائن قيمة (value object). مثال قبل إعادة التصميم مخطط يوضح كيفية ارتباط الصنفين Currency و Customer: مخطط يوضح كيفية ارتباط الصنفين Currency و Customer. بعد إعادة التصميم إعادة تصميم المخطط السابق للتتحول العلاقة الرابطة للصنفين Currency و Customer إلى علاقة has a (أي بمجرد وجود كائن Customer فلا بد من وجود كائن Currency له). مخطط يوضح كيفية ارتباط الصنفين Currency و Customer بعلاقة has ...

تبديل القيمة إلى مرجع (Change Value to Reference)

المشكلة وجود العديد من النُسَخ المتماثلة من صنفٍ واحدٍ تحتاج إلى استبدال كائنٍ واحدٍ بها. الحل تحويل الكائنات المتماثلة إلى كائن مرجعي واحد. مثال قبل إعادة التصميم مخطط يوضح وجود العديد من النُسَخ المتماثلة من الصنف Order: مخطط يوضح وجود العديد من النُسَخ المتماثلة من صنفٍ Order. بعد إعادة التصميم تحويل الكائنات المتماثلة إلى كائن مرجعي واحد: تحويل الكائنات المتماثلة إلى كائن مرجعي واحد. لم إعادة التصميم؟ في العديد من الأنظمة، يمكن تصنيف الكائنات على أنها إمَّا قيم أو مراجع. ...

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

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

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

تعيد الدالة contentDeepToString()‎ سلسلة نصية تمثِّل محتوى المصفوفة التي استُدعيت معها كما لو كانت قائمة. تعامل المصفوفات المُتشعبة مثل معاملة القوائم أيضًا. إن حَوَت المصفوفة نفسها في أي مستوى من المستويات المتشعبة، فسيعاد ذلك المرجع (reference) بالشكل "[...]" لمنع العَودية (recursion). البنية العامة inline fun <T> Array<out T>.contentDeepToString(): String الإصدار المطلوب: Kotlin 1.1 وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع توثيق الدوال المباشرة). القيم المعادة تُعاد سلسلة نصية تمثل محتوى المصفوفة كما لو كانت قائمة. أمثلة تعرف ...

الخاصية ‎‎javaClass‎ في Kotlin

تعيد الخاصيّة javaClass صنف Java الخاص بالكائن (object) الذي تُستدعى عبره أثناء التشغيل (runtime)، وتُعرَّف هذه الخاصية في جميع الأصناف الفرعيّة (sub-classes) من الصنف Any. البنية العامة inline val <T : Any> T.javaClass: Class<T> يُلاحَظ وجود الكلمة المفتاحية inline للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions). القيم المعادة صنف Java الخاصّ بالكائن الذي تُستدعى عبره أثناء التشغيل (runtime). أمثلة تنشِئ الشيفرة الآتية سلسلةً نصيةً باسم a، وتحصل على صنف Java الخاص بها عبر استدعاء ...

الخاصية ‎‎javaClass‎ في Kotlin

تعيد الخاصيّة javaClass صنف Java الخاص بالكائن (object) الذي تُستدعى عبره أثناء التشغيل (runtime)، وتُعرَّف هذه الخاصية في جميع الأصناف الفرعيّة (sub-classes) من الصنف Any. البنية العامة inline val <T : Any> T.javaClass: Class<T> يُلاحَظ وجود الكلمة المفتاحية inline للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions). القيم المعادة صنف Java الخاصّ بالكائن الذي تُستدعى عبره أثناء التشغيل (runtime). أمثلة تنشِئ الشيفرة الآتية سلسلةً نصيةً باسم a، وتحصل على صنف Java الخاص بها عبر استدعاء ...

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

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

الأصناف المتداخلة (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 وذلك بهدف إتاحة الوصول لكافّة عناصر ...

Kotlin/Topics

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

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

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

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

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

إنشاء جدول CREATE TABLE

يستخدم هذا الأمر لإنشاء جدولٍ جديدٍ في قاعدة البيانات وفق البنية العامّة الآتية: CREATE TABLE [ IF NOT EXISTS ] tbl_name ( [ { col_name data_type [ column_constraint [ ... ] | table_constraint } [, ... ] ] ) إذ يُنشأ الجدول الجديد باسم tbl_name وتُحدَّد أعمدته ما بين القوسين وذلك بتحديد اسم العمود col_name ونوع بياناته data_type وتحديد القيود على مستوى العمود أو الجدول. قيود العمود يُمكن ضبط بعض القيود على العمود مثل: القيد دلالته NOT NULL ...

الهيكلية التفرعية للوراثة (Parallel Inheritance Hierarchies)

توصيف المشكلة يتطلَّب إنشاءُ صنفٍ فرعيٍّ (subclass) لأحد الأصناف إنشاءَ صنفٍ فرعيٍّ ثانٍ لصنفٍ آخر غيره. أسبابها لا تبدو المشكلة واضحةً في الهيكليّات (hierarchies) الصغيرة، ولكنها تبدأ بالظهور مع إضافة أصناف (classes) جديدةٍ ممّا يجعل إجراء التعديلات أمرًا صعبًا. وما الحل؟ التخلُّص من التكرار التفرعيّ بين الهيكليّتين (hierarchies)، ويتمّ بخطوتين: إنشاء مرجعيّة (reference) من إحدى الهيكليّتين التفرعيّتين إلى الهيكليّة الثانية. إزالة الهيكليّة في الصنف المُشار إليه (referred class)، وذلك بنقل التوابع (move methods) ونقل الحقول (move fields). إليك المزيد ستحصل ...

إلغاء صلاحيات الوصول REVOKE

يستخدم هذا الأمر لإلغاء صلاحيات الوصول access privileges لمستخدمٍ أو مجموعة مستخدمين أو أكثر، وله إحدى الصيغ العامّة الآتية (بحسب محركات البيانات المختلفة): في محرك البيانات PostgreSQL REVOKE { { SELECT | INSERT | UPDATE | DELETE | REFERENCES } [, ...] | ALL [ PRIVILEGES ] } ON [ TABLE ] tbl_name [, ...] FROM { [GROUP ] name | PUBLIC | CURRENT_USER [, ...] }; إلغاء صلاحية تنفيذ استعلامات SELECT و INSERT و UPDATE و DELETE ...

منح صلاحيات الوصول GRANT

يستخدم هذا الأمر لمنح صلاحيات الوصول access privileges لمستخدمٍ أو مجموعة مستخدمين أو أكثر، وله إحدى الصيغ العامّة الآتية (بحسب محركات البيانات المختلفة): في محرك البيانات PostgreSQL GRANT { { SELECT | INSERT | UPDATE | DELETE | REFERENCES } [, ...] | ALL [ PRIVILEGES ] } ON [ TABLE ] tbl_name [, ...] TO { [GROUP ] name | PUBLIC | CURRENT_USER [, ...] } [ WITH GRANT OPTION ]; إعطاء صلاحية تنفيذ استعلامات SELECT و ...

الدالة php_check_syntax()‎ في PHP

(PHP 5 < 5.0.5) تتحقق الدالة php_check_syntax()‎ من بنية PHP (وتنفذ) الملفَّ المحدد. الوصف bool php_check_syntax ( string $filename [, string &$error_message ] ) تُجري الدالةُ php_check_syntax()‎ اختبارَ أدوات lint للتحليل على المعامل filename المحدد للبحث عن أخطاء برمجية. يشبه هذا استخدام php -l من سطر الأوامر فيما عدا أن هذه الدالة ستنفذ (لكن لن تؤدي إلى إظهار مخرجات تنفيذ) المعامل filename المحدد. مثلًا، إذا عُرَّفَتْ دالةٌ في الملف filename، فإن هذه الدالة المحددة ستكون متاحة للملف الذي نَفَّذّ الدالة php_check_syntax()‎، ...

الدالة weakref.WeakKeyDictionary()‎ في بايثون

صنف مجموعة Set class يحتفظ بالإشارات الضعيفة لعناصر المجموعة. سيجري تجاهل العنصر عند عدم وجود أي إشارة قوية إليه. البنية العامة weakref.WeakSet([elements]) المعاملات عناصر المجموعة المراد إنشاء إشارات ضعيفها إليها. مصادر صفحة Weak references في توثيق بايثون الرسمي.

الدالة weakref.getweakrefcount()‎ في بايثون

تعيد الدالة عدد الإشارات الضعيفة والوسائط المرتبطة بالكائن المعطى. البنية العامة weakref.getweakrefcount(object) المعاملات object الكائن المراد معرفة عدد الإشارات الضعيفة والوسائط المرتبطة به. القيمة المعادة تعيد الدالة عدد الإشارات الضعيفة والوسائط المرتبطة بالكائن المعطى. مصادر صفحة Weak references في توثيق بايثون الرسمي.

الدالة weakref.getweakrefs()‎ في بايثون

تعيد الدالة قائمة بكل الإشارات الضعيفة وكائنات الوسيط المرتبطة بالكائن المعطى. البنية العامة weakref.getweakrefcount(object) المعاملات object الكائن المراد معرفة الإشارات الضعيفة والوسائط المرتبطة به. القيمة المعادة تعيد الدالة قائمة بكل الإشارات الضعيفة وكائنات الوسيط المرتبطة بالكائن المعطى. مصادر صفحة Weak references في توثيق بايثون الرسمي.

مفاتيح الجداول

تستخدم المفاتيح بهدف الربط ما بين الجداول في قواعد البيانات. المفتاح الأوليّ PRIMARY KEY هو عمود (أو أكثر) من الجدول والذي يميّز السجلات عن بعضها، تكون القيم فيه فريدة (غير مكررة) ولا يمكن ألّا يحتوي قيمة (قيمته NULL)، ويكون للجدول مفتاح أولي وحيد. المفتاح الثانويّ FOREIGN KEY هو عمود (أو أكثر) من الجدول والذي يمكن عدّه مرجعيةً (reference) لعمود آخر في جدول ثانٍ (وغالبًا ما يكون هذا العمود هو المفتاح الأولي للجدول الثاني). مثال تحتوي قاعدة بيانات أحد المراكز التعليمية ...

الدالة wsgiref.util.is_hop_by_hop()‎‎ في بايثون

تعيد الدالة القيمة True إن كان اسم الترويسة المعطى هو HTTP/1.0 "Hop-by-Hop"‎ وبحسب ما هو معرّف في RFC 2616. البنية العامة wsgiref.util.is_hop_by_hop(header_name) ‎المعاملات header_name اسم الترويسة الذي ستتحقّق الدالة منه. القيمة المعادة تعيد الدالة قيمة منطقية بالاعتماد على نتيجة عملية التحقّق التي ستجريها على اسم الترويسة. مصادر قسم WSGI environment utilities في صفحة WSGI Utilities and Reference Implementation في توثيق بايثون الرسمي.

مقارنة الكائنات في PHP

يمكن إجراء مقارنة بسيطة بين متغيرات الكائنات باستخدام عامل المقارنة (==)، وتكون نسختا الكائن متساويتين إن كانتا تملكان نفس المعاملات ونفس القيم (تقارن القيم باستخدام ==) وكانتا نسختين لنفس الصنف. عند استخدام عامل التطابق (===) تكون متغيرات الكائنات متطابقة عندما تشير فقط وفقط إذا إلى النسخة نفسها من الصنف نفسه. يوضّح المثال التالي هذه القواعد. المثال 1: مثال على مقارنة الكائنات في الإصدار الخامس من PHP <?php function bool2str($bool) { if ($bool === false) { ...

نقل الحقول (Move Fields)

المشكلة استخدام الحقل (field) في صنفٍ (class) ما أكثر من استخدامه في صنفه الأساسيّ. الحل إنشاء حقلٍ في صنفٍ جديدٍ وإعادة توجيه (redirect) كلَّ ما يستخدم هذا الحقل إلى ذلك الصنف المُنشَأ. مثال قبل إعادة التصميم يستخدِم الصنفُ Class2 الحقلَ aField أكثر مما يستخدمه صنفه الأساسيّ Class1: يستخدِم الصنفُ Class2 الحقلَ aField أكثر مما يستخدمه صنفه الأساسيّ Class1. بعد إعادة التصميم نُقِل الحقل aField إلى الصنف ذي الاستخدام الأكثر له وهو الصنف Class2: نُقِل الحقل aField إلى الصنف ذي الاستخدام ...

مقارنة الكائنات في PHP

يمكن إجراء مقارنة بسيطة بين متغيرات الكائنات باستخدام عامل المقارنة (==)، وتكون نسختا الكائن متساويتين إن كانتا تملكان نفس المعاملات ونفس القيم (تقارن القيم باستخدام ==) وكانتا نسختين لنفس الصنف. عند استخدام عامل التطابق (===) تكون متغيرات الكائنات متطابقة عندما تشير فقط وفقط إذا إلى النسخة نفسها من الصنف نفسه. يوضّح المثال التالي هذه القواعد. المثال 1: مثال على مقارنة الكائنات في الإصدار الخامس من PHP <?php function bool2str($bool) { if ($bool === false) { ...

صفحة المعامل []= في الصنف ObjectSpace::WeakMap في روبي

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

صفحة المعامل []= في الصنف ObjectSpace::WeakMap في روبي

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

الوحدة wsgiref.headers()‎‎ في بايثون

تقدّم هذه الوحدة الصنف Headers والذي يُستخدم لمعالجة ترويسات الاستجابة response headers في WSGI وذلك باستخدام طريقة مشابهة للقواميس. الصنف wsgiref.headers.Headers تنشئ الدالة البانية لهذا الصنف كائنًا شبيهًا بالقواميس يغلّف الترويسة المعطاة، ويجب أن تكون الترويسة على هيئة قائمة من صفوف (الاسم/القيمة) كما هو موصوف في PEP 3333. مصادر قسم WSGI response header tools في صفحة WSGI Utilities and Reference Implementation في توثيق بايثون الرسمي.

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

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

الدالة wsgiref.util.application_uri()‎‎ في بايثون

هذه الدالة مشابهة للدالة request_uri()‎ باستثناء أنّ هذه الدالة تتجاهل المتغيّرين PATH_INFO و QUERY_STRING. وتكون النتيجة معرف URI الأساسي لكائن التطبيق الذي يُوجّه إليه الطلب. البنية العامة wsgiref.util.application_uri(environ) ‎المعاملات environ قاموس متوافق مع WSGI. يمكن مراجعة PEP 3333 للاطلاع على المزيد من التفاصيل. ‎القيمة المعادة تعيد الدالة معرّف URI الكامل في الطلب. مصادر قسم WSGI environment utilities في صفحة WSGI Utilities and Reference Implementation في توثيق بايثون الرسمي.

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

الدالة simple_server.demo_app()‎‎ في بايثون

هذه الدالة عبارة عن تطبيق WSGI بسيط ولكن كامل، ويعيد صفحة نصية تتضمّن الرسالة ‎"Hello world!"‎ وقائمة بأزواج مفتاح/قيمة الموجودة في المعامل environ. يمكن الاستفادة من هذه الدالة في التحقق من قدرة مخدّم WSGI (مثل wsgiref.simple_server) على العمل كتطبيق WSGI بطريقة سليمة. البنية العامة wsgiref.simple_server.demo_app(environ, start_response) المعاملات environ قاموس متوافق مع WSGI. يمكن مراجعة PEP 3333 للاطلاع على المزيد من التفاصيل. مصادر قسم WSGI environment utilities في صفحة WSGI Utilities and Reference Implementation في توثيق بايثون الرسمي.

الدالة sscanf()‎ في PHP

(PHP 4 >= 4.0.1, PHP 5, PHP 7) تُحوّل الدالة sscanf()‎ المُدْخَلَ من سلسلة نصية إلى الصيغة المطلوبة. الوصف mixed sscanf ( string $str , string $format [, mixed &$... ] ) وظيفة الدالة sscanf()‎ هي نظير الإدخال في الدالة printf()‎. تقرأ الدالة sscanf()‎ السلسلة النصية من المعامل str وتفسرها وفقًا للتنسيق المحدد للمعامل format، الموضح في توثيق الدالة sprintf()‎. أي مسافات بيضاء (white space) في سلسلة التنسيق يمكن أن تتطابق مع أي مسافة بيضاء في السلسلة المدخَلة، فهذا يعني أنه ...

الدالة wsgiref.util.request_uri()‎‎ في بايثون

تعيد الدالة معرّف URI الكامل في الطلب، -يمكن أن تتضمّن النتيجة المعادة سلسلة الطلب النصية- باستخدام الخوارزمية الموجودة في قسم "URL Reconstruction" في PEP 3333. البنية العامة wsgiref.util.request_uri(environ, include_query=True) المعاملات environ ‎environ قاموس متوافق مع WSGI. يمكن مراجعة PEP 3333 للاطلاع على المزيد من التفاصيل. include_query لن تُضمّن سلسلة الطلب النصية في معرّف URI الناتج إن أخذ هذا المعامل قيمة خاطئة. القيمة المعادة تعيد الدالة معرّف URI الكامل في الطلب مصادر قسم WSGI environment utilities في صفحة WSGI Utilities and Reference ...

التابع Headers.get_all()‎‎ في بايثون

يعيد التابع قائمة بجميع القيم المندرجة ضمن الترويسة المعطاة. البنية العامة get_all(name) ‎المعاملات ‎name اسم الترويسة التي سيعيد التابع قائمة القيم المندرجة ضمنها. القيمة المعادة تكون القيم في القائمة المعادة مرتّبة بنفس ترتيب ظهور الترويسات في قائمة الترويسات الأصلية، أو ترتيب إضافتها إلى نسخة الصنف، وقد تتضمن قيمًا مكرّرة. يؤدي حذف الحقول وإعادة إضافتها إلى إدراجها في نهاية القائمة. يعيد التابع قائمة فارغة إن لم يعثر على أي حقل يحمل الاسم المطلوب. مصادر قسم WSGI environment utilities في صفحة WSGI ...

الدالة weakref.WeakValueDictionary()‎ في بايثون

صنف ربط ينشئ إشارات ضعيفة إلى القيم. يجري تجاهل عناصر القاموس عند عدم وجود إشارات قوية إلى القيم. البنية العامة weakref.WeakKeyDictionary([dict]) المعاملات dict القاموس الذي سينشئ هذا الصنف إشارات ضعيفة إلى قيمه. تنبيه: لما كان WeakValueDictionary مبنيًا على قواميس بايثون، فيجب أن لا يتغير حجمه عند المرور على عناصره، وهذا الأمر قد يصبح صعبًا مع WeakValueDictionary لأنّ الأحداث التي تُنفّذ بواسطة البرنامج أثناء عملية المرور على العناصر قد تتسبّب في اختفاء العناصر من القاموس (كتأثير جانبي لمجموعة garbage). التابع valuerefs()‎ ...

الدالة wsgiref.util.guess_scheme()‎‎ في بايثون

تخمّن الدالة ما يجب أن تكون عليه قيمة wsgi.url_scheme، إمّا "http" أو "https"، وذلك بالتحقق من قيمة متغير البيئة HTTPS في القاموس المعطى. البنية العامة wsgiref.util.guess_scheme(environ) ‎المعاملات ‎environ قاموس متوافق مع WSGI. يمكن مراجعة PEP 3333 للاطلاع على المزيد من التفاصيل. القيمة المعادة تعيد الدالة النتيجة على هيئة سلسلة نصية. تظهر فائدة هذه الدالة عند إنشاء بوابة لتغليف بروتوكول CGI أو بروتوكول شبيه به مثل FastCGI. وعادة ما تتضمّن المخدّمات التي تقدّم مثل هذه البروتوكولات متغير HTTPS يحمل القيمة "1" أو ...

الأنواع المُعمَّمة (Generics) في لغة Kotlin

معاملات الأنواع (Type Parameters) قد تحتوي الأصناف (classes) -كما هو الحال في لغة Java- على معاملات للأنواع (type parameters) مثل: class Box<T>(t: T) { var value = t } ولإنشاء كائنٍ (instance) من هذا الصنف يجب تحديد النوع كما في الشيفرة الآتية: val box: Box<Int> = Box<Int>(1) أمّا إن كان بالإمكان معرفة (infer) المعاملات إمّا من خلال معاملات الباني (constructor arguments) أو بأيّ وسيلةٍ أخرى فيمكن حينئذٍ حذف نوع المعاملات، مثل: val box = Box(1) // القيمة 1 لها ...

الدالة weakref.WeakMethod()‎ في بايثون

صنف فرعي خاصّ من الصنف ref يحاكي إشارة ضعيفة إلى تابع مرتبط bound method (أي تابع معرف في صنف وجرى البحث عنه في نسخة من ذلك الصنف). ملاحظة: هذا الصنف جديد في الإصدار 3.4. البنية العامة class weakref.WeakMethod(method) المعاملات dict التابع المراد إنشاء محاكاة لإشارة ضعيفة إليه. التوابع المرتبطة سريعة الزوال ما يمنع من تمسّك الإشارات الضعيفة العادية بها. يمتلك الصنف WeakMethod طريقة خاصة لإعادة إنشاء التابع المرتبط والإبقاء عليه إلى أن يموت الكائن أو الدالة الأصلية: >>> class C: ... ...

دوال التحكم بأرجل الدخل والخرج التشابهي في أردوينو

تستعمَل الدوال الموجودة في هذا القسم للتعامل مع أرجل الدخل والخرج التشابهي والتحكم بها وبدقة القيم المقروءة منها أو المكتوبة عليها. ()‎analogread تقرأ الدالة analogRead()‎ قيمة رجل تشابهية محدَّدة وتعيدها. ()‎analogreference تهيِّئ الدالة analogReference()‎ قيمة الجهد المرجعي (reference voltage) المستعمل من أجل الدخل التشابهي (أي القيمة المستعملة بوصفها أعلى قيمة ضمن مجال القيم المدخلة). ()‎analogwrite تكتب الدالة analogWrite()‎ قيمةً تشابهيةً (إشارة عبر معدل عرض النبضة [PWM]) على رجل محدَّدة. ()‎analogreadresolution الدالة analogReadResolution()‎ هي دالةٌ ملحقةٌ بالواجهة البرمجية التشابهية (Analog API) ...

الدالة weakref.proxy()‎ في بايثون

تنشئ الدالة وسيطًا proxy للكائن المعطى والذي يستخدم إشارة ضعيفة. البنية العامة weakref.proxy(object[, callback]) المعاملات object الكائن المراد إنشاء وسيط له. callback المعامل callback هو نفس المعامل الموجود في الدالة ref()‎. القيمة المعادة تعيد الدالة وسيطًا proxy للكائن المعطى والذي يستخدم إشارة ضعيفة. تدعم هذه الدالة استخدام الوسيط في معظم السياقات عوضًا عن الحاجة إلى التصريح عن عملية إلغاء الإشارة والتي تستخدم مع كائنات الإشارة الضعيفة. الكائن المعاد من هذه الدالة سيكون إما من نوع ProxyType أو CallableProxyType وذلك بالاعتماد ...

الموارد في PHP

المورد هو متغير خاص يحمل مرجعيةً إلى مورد خارجي، تُنشَأ الموارد وتُستخدَم باستعمال دوال خاصة، اطلع على الملحق للحصول على قائمة تضم جميع الدوال مع نوع المورد المناسب. اطلع على الدالة get_resource_type()‎ أيضًا. التحويل إلى مورد لا يمكن تحويل القيم من الأنواع الأخرى إلى موارد، فهذه المتغيرات تحمل مقابض (handles) خاصة لفتح الملفات، اتصالات قاعدة البيانات، مناطق الصورة … تحرير الموارد بفضل نظام عدّ المراجع (reference-counting system) الموجود في محرك Zend، ستُكتَشَف الموارد التي لا تمتلك مرجع إليها تلقائيًا، ,وتُحرَّر ...

الموارد في PHP

المورد هو متغير خاص يحمل مرجعيةً إلى مورد خارجي، تُنشَأ الموارد وتُستخدَم باستعمال دوال خاصة، اطلع على الملحق للحصول على قائمة تضم جميع الدوال مع نوع المورد المناسب. اطلع على الدالة get_resource_type()‎ أيضًا. التحويل إلى مورد لا يمكن تحويل القيم من الأنواع الأخرى إلى موارد، فهذه المتغيرات تحمل مقابض (handles) خاصة لفتح الملفات، اتصالات قاعدة البيانات، مناطق الصورة … تحرير الموارد بفضل نظام عدّ المراجع (reference-counting system) الموجود في محرك Zend، ستُكتَشَف الموارد التي لا تمتلك مرجع إليها تلقائيًا، ,وتُحرَّر ...

ازالة توابع الإعدادات (Remove Setting Method)

المشكلة يكون تعيين قيمة الحقل فقط عند إنشائه، ولا تتغير في أي وقت لاحق. الحل إزالة التوابع التي تضبط قيمة الحقل. مثال قبل إعادة التصميم يضبط التابع ()setImmutableValue قيمةً غير قابلة للتغيير أو التعديل في المستقبل: يغيّر التابع من قيمة الحقل. بعد إعادة التصميم حذف التابع ()setImmutableValue من الصنف Customer: إزالة التابع الذي يضبط قيمة الحقل. لم إعادة التصميم؟ إذا كنت تريد منع أي تغييرات في قيمة الحقل. آلية الحل يجب أن تكون قيمة الحقل قابلة للتغيير فقط في الباني. ...

الدالة simple_server.make_server()‎‎ في بايثون

تنشئ الدالة مخدّم WSGI يستمع إلى المضيف والمنفذ المعطيين، ويستقبل الاتصالات من التطبيق المعطى. تعيد الدالة نسخة من صنف المخدّم المعطى وستعالج الطلبات باستخدام صنف المعالجة المعطى. البنية العامة wsgiref.simple_server.make_server(host, port, app, server_class=WSGIServer, handler_class=WSGIRequestHandler) المعاملات host المضيف الذي ستستمع إليه الدالة. port المنفذ الذي ستستمع إليه الدالة. app يجب أن يكون كائن تطبيق WSGI كما هو معرّف في PEP 3333. server_class صنف المخدّم الذي ستعيد الدالة نسخة منه. handler_class صنف المعالجة الذي ستستخدمه الدالة في معالجة الطلبات. راجع وحدة wsgiref.handlers. ...

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