نتائج البحث

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

Python/types

تقدّم هذه الوحدة عددًا من الدوال المساعدة لإنشاء أنواع بيانات جديدة بصورة ديناميكية، إضافة إلى أنّها تعرّف أسماءً لبعض أنواع الكائنات التي يستخدمها مفسّر بايثون المعياري، ولكنّها ليست كائنات داخلية مثل int أو str، إلى جانب أنّ هذه الوحدة تقدم بعض الأصناف والدوال المساعدة الخاصة ببعض الأنواع، والتي لا تعدّ أساسية بما يكفي لتصبح أصنافًا ودوالّ داخلية. إنشاء الأنواع ديناميكيًا تقدّم هذه الوحدة ثلاث دوالّ تساعد في إنشاء أنواع البيانات ديناميكيًا: الدالة types.new_class()‎‎ تنشئ هذه الدالة ديناميكيًا كائن صنف باستخدام ...

الصنف ‎:first-of-type

الصنف الزائف ‎:first-of-type في CSS (أي pseudo-class) يُمثِّل أوّل عنصر من نوعه في مجموعة من العناصر الأخوة. p:first-of-type { color: red; } ملاحظة: عندما عُرِّف هذا الصنف كان من الضروري أن يملك العنصر أبًا، لكن بدءًا من مواصفة Selectors Level 4 لم يعد ذلك ضروريًا. الشكل العام لهذا المحدد: :first-of-type أمثلة لاحظ كيف ستُنسَّق أوّل فقرة <p> من بين العناصر الأخوة: <h2>الترويسة</h2> <p>النص 1</p> <p>النص 2</p> شيفرة CSS: p:first-of-type { color: red; font-style: italic; } لاحظ كيف يمكن استخدام هذا المُحدِّد على العناصر المتشعبة، ...

الصنف :nth-of-type()

الصنف الزائف ‎:nth-of-type()‎ في CSS (أي pseudo-class) يُطابِق عنصرًا أو أكثر من نوعٍ معيّن بناءً على موقعه ضمن مجموعة من العناصر الأخوة (siblings). هذا المُحدِّد يُحدِّد جميع عناصر <p> التي ترتيبها هو الرابع ضمن أي مجموعة من الأخوة: p:nth-of-type(4n) { color: lime; } يقبل هذا الصنف الزائف وسيطًا واحدًا يمُثِّل نمط مُطابقة العناصر: الكلمة المحجوزة odd تُمثِّل العناصر التي يكون ترتيبها بين إخوتها فرديًا، أي 1 و 3 و 5 ...إلخ. ويبدأ العد من البداية إلى النهاية. الكلمة المحجوزة even تُمثِّل ...

الصنف ‎:last-of-type

الصنف الزائف ‎:last-of-type في CSS (أي pseudo-class) يُمثِّل آخر عنصر من نوعه في مجموعة من العناصر الأخوة. p:last-of-type { color: lime; } ملاحظة: عندما عُرِّف هذا الصنف كان من الضروري أن يملك العنصر أبًا، لكن بدءًا من مواصفة Selectors Level 4 لم يعد ذلك ضروريًا. الشكل العام لهذا المحدد: :last-of-type أمثلة لاحظ كيف ستُنسَّق آخر فقرة <p> من بين العناصر الأخوة: <h2>الترويسة</h2> <p>النص 1</p> <p>النص 2</p> شيفرة CSS: p:last-of-type { color: red; font-style: italic; } لاحظ كيف يمكن استخدام هذا المُحدِّد على العناصر المتشعبة، ...

الدالة type()‎ في بايثون

تعيد الدّالة type()‎ نوع الكائن المُعطى إن مُرّر مُعامل واحد لها. وتعيد كائن نوعٍ (type object) جديد إن مُرّرت لها ثلاثة مُعاملات. البنية العامة type(object) type(name, bases, dict) المعاملات تقبل الدّالة type()‎ إمّا مُعاملًا واحدًا فقط، أو ثلاثة مُعاملات كما هو واضح في البنية العامّة أعلاه. عند استدعائها بمُعامل واحد فقط، ستُعيد الدّالة نوع الكائن المُمرّر. أمّا عند الاستدعاء بثلاثة مُعاملات، فسيُعاد كائن نوعٍ جديد. وهو طريقة ديناميكيّة لإنشاء الأصناف كبديل للجملة class. object عند استدعائها بمُعامل واحد فقط، يُمثّل هذا ...

العوامل في PHP

يأخذ العامل (operator) قيمة واحدة أو أكثر (أو تعابير حسب اصطلاحات البرمجة) ويعطي قيمة أخرى (بحيث تتحول البنية نفسها إلى تعبير). يمكن تصنيف العوامل بحسب عدد القيم التي تأخذها، فالعوامل الأحادية Uanry تأخذ قيمة واحدة فقط مثل العامل (!) (معامل النفي المنطقي) أو (++) (معامل الزيادة). أما العوامل الثنائية فتأخذ قيمتين، وخير مثال عليها هو العوامل الحسابية المعروفة (+) الجمع، و (-) الطرح، إضافة إلى غالبية العوامل التي تقدّمها لغة PHP. وأخيرًا هناك معامل ثلاثي وحيد وهو ? : ويأخذ قيمًا ثلاثة، ...

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

(PHP 4, PHP 5, PHP 7) توازن الدالة strnatcmp()‎ بين سلسلتين نصيَّتين (strings) مع تحسُّس حالة الأحرف (كبيرة أو صغيرة) وذلك باستعمال خوارزميَّة الترتيب الطبيعي (natural order algorithm). الوصف int strnatcmp ( string $str1 , string $str2 ) توازن هذه الدالة بين السلسلة النصيَّة str1 والسلسلة النصيَّة str2 باستعمال خوارزميَّة الترتيب الطبيعي مع تحسُّس حال الأحرف. تُرتِّب هذه الخوارزميَّة السلاسل النصيَّة التي تحوي أحرفًا وأرقامًا بالطريقة ذاتها التي يُرتِّب بها البشر (لهذا السبب سميت "الترتيب الطبيعي") ثمَّ تبدأ عمليَّة الموازنة. المعاملات ...

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

(PHP 4, PHP 5, PHP 7) توازن الدالة strnatcmp()‎ بين سلسلتين نصيَّتين (strings) مع تحسُّس حالة الأحرف (كبيرة أو صغيرة) وذلك باستعمال خوارزميَّة الترتيب الطبيعي (natural order algorithm). الوصف int strnatcmp ( string $str1 , string $str2 ) توازن هذه الدالة بين السلسلة النصيَّة str1 والسلسلة النصيَّة str2 باستعمال خوارزميَّة الترتيب الطبيعي مع تحسُّس حال الأحرف. تُرتِّب هذه الخوارزميَّة السلاسل النصيَّة التي تحوي أحرفًا وأرقامًا بالطريقة ذاتها التي يُرتِّب بها البشر (لهذا السبب سميت "الترتيب الطبيعي") ثمَّ تبدأ عمليَّة الموازنة. المعاملات ...

الصنف ‎:nth-last-of-type()‎

الصنف الزائف ‎:nth-last-of-type()‎ في CSS (أي pseudo-class) يُطابِق عنصرًا أو أكثر من نوعٍ معيّن بناءً على موقعه ضمن مجموعة من العناصر الأخوة (siblings). بدءًا من النهاية إلى البداية. هذا المُحدِّد يُحدِّد جميع عناصر <p> التي ترتيبها هو الرابع ضمن أي مجموعة من الأخوة، والعد يبدأ من النهاية: p:nth-last-of-type(4n) { color: lime; } ملاحظة: هذا الصنف الزائف يماثل الصنف ‎:nth-of-type إلا أنه يبدأ عدّ العناصر من النهاية إلى البداية، عكس الصنف ‎:nth-of-type الذي يبدأ العد من البداية إلى النهاية. رجع صفحة الصنف ...

الخاصية list-style-type

الخاصية list-style-type في CSS تُحدِّد شكل الإشارة إلى عناصر القائمة. بطاقة الخاصية القيمة الابتدائية disc تُطبَّق على عناصر القوائم. قابلة للوراثة نعم قابلة للتحريك لا القيمة المحسوبة كما حُدِّدَت. /* قائمة مختصرة بأنواع الأشكال */ list-style-type: disc; list-style-type: circle; list-style-type: square; list-style-type: decimal; list-style-type: arabic-indic; /* <string> */ list-style-type: '-'; /* @counter-style rule */ list-style-type: custom-counter-style; list-style-type: none; /* القيم العامة */ list-style-type: inherit; list-style-type: initial; list-style-type: unset; ملاحظة: هذه الخاصية ستُطبَّق على عناصر القوائم، أي العناصر التي تكون قيمة الخاصية display فيها تساوي list-item، وهذا يتضمن العنصر <li> افتراضيًا؛ لكن لاحظ أنَّ قيمة ...

CSS/Topics/Data Type

نوع البيانات الوصف angle نوع البيانات <angle> في CSS يستعمل لتمثيل القيم الزاويّة بالدرجات (degrees) أو بالغراد (grad) أو بالراديان (radians) أو بالدورات (turns)، ويمكن استخدام هذا النوع في التدرجات اللونية <gradient> وبعض دوالtransform. blend-mode نوع البيانات <blend-mode> في CSS يستعمل لوصف كيف يجب أن تمتزج الألوان عند تداخل طبقات الخلفات مع بعضها بعضًا. فلكل بكسل من بكسلات الطبقة التي طُبِّق عليها نمط الامتزاج، فسيأخذ اللون من الخلفية ومن الأمامية، وستُجرى عملية حسابية عليه، ويُعاد لونٌ جديدٌ سيستخدم مكان تداخل الطبقات. color value نوع البيانات <color> في CSS ...

المحدد ‎‎‎:nth-of-type()‎‎ في jQuery

المحدد ()‎:nth-of-type الوصف يختار هذا المحدِّد عناصر ذات موقع محدد ضمن مجموعة من العناصر الأخوة (أي جميعها أبناء لعناصر أخرى) التي لها اسم العنصر ذاته. jQuery( ":nth-of-type(index/even/odd/equation)" )‎ أُضيف مع الإصدار: 1.9. index فهرس العنصر الابن المراد مطابقته، ويبدأ العد من القيمة 1 بدءًا من بداية المجموعة (أي فهرس أول عنصر في المجموعة هو 1). ويمكن استعمال الكلمة المحجوزة even التي تُمثِّل العناصر التي يكون ترتيبها بين إخوتها فرديًا، أو الكلمة المحجوزة odd التي تُمثِّل العناصر التي يكون ترتيبها بين ...

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

ترتِّب الدالة sort()‎ المصفوفة أو القائمة المتغيرة (MutableList) التي استُدعيت معها تصاعديًّا. البنية العامة إن لم يمرَّر أي وسيط إلى الدالة sort()‎، فسترتِّب جميع عناصر المصفوفة أو القائمة المتغيرة التي استدعيت معها: fun IntArray.sort() fun LongArray.sort() fun ByteArray.sort() fun ShortArray.sort() fun DoubleArray.sort() fun FloatArray.sort() fun CharArray.sort() inline fun <T : Comparable<T>> Array<out T>.sort() (source) fun <T : Comparable<T>> MutableList<T>.sort() أمَّا إن استدعيت الدالة sort()‎ مع تمرير وسيطين عددين، فسترتِّب المجال الذي يحدده هذين الوسيطين داخل المصفوفة التي استدعيت معها (بيئة التشغيل: JVM): fun <T> ...

معاملات المقارنة في JavaScript

تملك JavaScript نوعين من المقارنة: نوع المقارنة الصارم (strict comparison) مثل المعامل === الذي تكون نتيجة المقارنة معه هي true إذا كانت كلا القيمتان من النوع نفسه ومحتوياتهما متطابقة؛ ونوع المقارنة الذي يحوِّل أنواع البيانات لتتوافق مع بعضها (type–converting comparison) مثل المعامل == الذي يحوِّل القيمتين إلى النوع نفسه قبل إجراء عملية المقارنة؛ أما لعمليات المقارنة النسبية (مثل ‎>=‎) فستحوَّل القيم المُقارَنة إلى قيم أوليّة ثم إلى نوع البيانات نفسه وذلك قبل إجراء عملية المقارنة. تُقارَن السلاسل النصية بناءً على ...

المحدد ‎‎‎:nth-last-of-type()‎‎ في jQuery

المحدد ()‎:nth-last-of-type الوصف يختار هذا المحدِّد عناصر ذات موقع محدَّد ضمن مجموعة من العناصر الأخوة (أي جميعها أبناء لعناصر أخرى) التي لها اسم العنصر ذاته وذلك بدءًا من نهاية المجموعة وحتى بدايتها. jQuery( ":nth-last-of-type(index/even/odd/equation)" )‎ أُضيف مع الإصدار: 1.9. index فهرس العنصر الابن المراد مطابقته، ويبدأ العد من القيمة 1 بدءًا من نهاية المجموعة (أي فهرس آخر عنصر في المجموعة هو 1). ويمكن استعمال الكلمة المحجوزة even التي تُمثِّل العناصر التي يكون ترتيبها بين إخوتها فرديًا، أو الكلمة المحجوزة odd ...

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

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

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

(PHP 4, PHP 5, PHP 7) تبحث الدالة min()‎ عن أصغر قيمة من بين القيم الممرَّرة إليها ثمَّ تعيدها. الوصف mixed min ( array $values ) mixed min ( mixed $value1 , mixed $value2 [, mixed $... ] ) إن مُرِّر إلى هذه الدالة معاملٌ وحيدٌ وكان هذا المعامل مصفوفةً، فستعيد أصغر قيمة من قيم عناصر تلك المصفوفة. أمَّا إن مرِّر إلى الدالة قيمتان عدديتان أو أكثر، فستعيد القيمة الأصغر من تلك القيم الممرَّرة إليها. ملاحظة: ستُوازن القيم ذات الأنواع المختلفة وفقًا ...

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

(PHP 4, PHP 5, PHP 7) تبحث الدالة max()‎ عن أكبر قيمة من بين القيم الممرَّرة إليها ثمَّ تعيدها. الوصف mixed max ( array $values ) mixed max ( mixed $value1 , mixed $value2 [, mixed $... ] ) إن مُرِّر إلى هذه الدالة معاملٌ وحيدٌ وكان هذا المعامل مصفوفةً، فستعيد أكبر قيمة من قيم عناصر تلك المصفوفة. أمَّا إن مرِّر إلى الدالة قيمتان عدديتان أو أكثر، فستعيد القيمة الأكبر من تلك القيم الممرَّرة إليها. ملاحظة: ستُوازن القيم ذات الأنواع المختلفة وفقًا ...

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

(PHP 4, PHP 5, PHP 7) تبحث الدالة max()‎ عن أكبر قيمة من بين القيم الممرَّرة إليها ثمَّ تعيدها. الوصف mixed max ( array $values ) mixed max ( mixed $value1 , mixed $value2 [, mixed $... ] ) إن مُرِّر إلى هذه الدالة معاملٌ وحيدٌ وكان هذا المعامل مصفوفةً، فستعيد أكبر قيمة من قيم عناصر تلك المصفوفة. أمَّا إن مرِّر إلى الدالة قيمتان عدديتان أو أكثر، فستعيد القيمة الأكبر من تلك القيم الممرَّرة إليها. ملاحظة: ستُوازن القيم ذات الأنواع المختلفة وفقًا ...

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

(PHP 4, PHP 5, PHP 7) تبحث الدالة min()‎ عن أصغر قيمة من بين القيم الممرَّرة إليها ثمَّ تعيدها. الوصف mixed min ( array $values ) mixed min ( mixed $value1 , mixed $value2 [, mixed $... ] ) إن مُرِّر إلى هذه الدالة معاملٌ وحيدٌ وكان هذا المعامل مصفوفةً، فستعيد أصغر قيمة من قيم عناصر تلك المصفوفة. أمَّا إن مرِّر إلى الدالة قيمتان عدديتان أو أكثر، فستعيد القيمة الأصغر من تلك القيم الممرَّرة إليها. ملاحظة: ستُوازن القيم ذات الأنواع المختلفة وفقًا ...

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

(PHP 4, PHP 5, PHP 7) تُعيِّن الدالة settype()‎‎‎‎‎ نوع المتغيّر. الوصف bool settype ( mixed &$var , string $type ) تُعيِّن نوع المتغيّر var إلى النّوع type. المعاملات var المتغيّر المطلوب تغيير نوعه. type القيم المُمكنة للنوع هي: "boolean" أو "bool": قيمة منطقية. "integer" أو "int": عدد صحيح. "float" أو "double": عدد عشري. "string": سلسلة نصّيّة. "array": مصفوفة. "object": كائن. "null": عَدَم. القيم المعادة تُعيد القيمة TRUE عند النّجاح، أو FALSE عند الفشل. أمثلة المثال 1: مثال على الدالة settype()‎ ...

الوحدة functools‎ في بايثون

تُقدّم الوحدة functools دوال عاليّة الرّتبة (higher-order functions)، وهي دوال تستقبل دوالا أخرى، تُغيّرها، أو تُعيد دوال أخرى. وعلى العموم، يُمكن لأيّ كائن قابل للاستدعاء أن يُعامل مُعاملة الدّالة عند استخدام هذه الوحدة. تُعرّف الوحدة functools الدّوال التّاليّة: functools.cmp_to_key()‎ تُحوّل دالّةَ مُقارنة (comparison function) إلى دالّة مفتاح (key function). functools.partial()‎ تُستعمل لإنشاء دالّة جزئيّة من دالّة بتمرير قيم افتراضيّة ثابتة لها. functools.reduce()‎ تُطبّق دالّةً تأخذ مُعاملين بتراكب لعناصر الكائن القابل للتّكرار المُعطى، من اليسار إلى اليمين لتخفيض العناصر إلى قيمة ...

أنواع البيانات في PHP

لا يعيّن المبرمج نوع المتغير عادةً، بل تُعيِّنُه لغة PHP أثناء التنفيذ بالاعتماد على محتوى المتغير المستخدم. ملاحظة: استخدم دالة var_dump()‎ للتحقق من نوع وقيمة تعبير معين، واستخدم الدالة gettype()‎ للحصول على نوع المتغير عند الحاجة لغرض التنقيح، وللتأكد من نوع المتغير فاستخدم مجموعة دوال is_type وهذه بعض الأمثلة عنها: <?php $a_bool = TRUE; // boolean $a_str = "foo"; // string $a_str2 = 'foo'; // string $an_int = 12; // integer echo gettype($a_bool); // الناتج: ...

التسمية البديلة للأنواع (Type aliases) في لغة Kotlin

تدعم لغة Kotlin ميّزة التسمية البديلة للأنواع الموجودة للبيانات، وخاصّة إن كان اسم النوع طويلًا فيُستعاض عنه باسمٍ أقصرٍ ويُستخدَم الاسم الجديد في كتابة الشيفرات؛ فمن المفيد مثلًا تسمية الأنواع المُعمّمة (generics) بأسماء أقصرٍ، مثل الشيفرة الآتية المُستخدَمة لتسمية أنواع المجموعات (collections): typealias NodeSet = Set<Network.Node> typealias FileTable<K> = MutableMap<K, MutableList<File>> وبالإمكان أيضًا تسمية الأنواع المختلفة للدوال، مثل: typealias MyHandler = (Int, String, Any) -> Unit typealias Predicate<T> = (T) -> Boolean وكذلك الأمر بالنسبة للأصناف الداخليّة (inner classes) والمتداخلة (nested classes)، مثل: class ...

أشباه الأنواع في PHP

أشباه الأنواع هي كلمات مفتاحيَّة مستخدمة في توثيق PHP لتحديد الأنواع أو القيم التي يمكن أن يمتلكها المعامل ولا يمكن استخدامها في الشيفرات البرمجية. مختلط – mixed يعني هذا أن المعامل يقبل العديد من الأنواع -وليس بالضرورة جميعها-. على سبيل المثال الدالة gettype()‎ ستقبل جميع أنواع المتغيرات، في حين أن الدالة str_replace()‎ ستقبل السلاسل النصية والمصفوفات. رقم – Number يشير Number إلى أن المعامل يمكن أن يكون عددًا صحيحًا أو عددًا عشريًا. رد النداء – callback استخدم هذا في التوثيق ...

أشباه الأنواع في PHP

أشباه الأنواع هي كلمات مفتاحيَّة مستخدمة في توثيق PHP لتحديد الأنواع أو القيم التي يمكن أن يمتلكها المعامل ولا يمكن استخدامها في الشيفرات البرمجية. مختلط – mixed يعني هذا أن المعامل يقبل العديد من الأنواع -وليس بالضرورة جميعها-. على سبيل المثال الدالة gettype()‎ ستقبل جميع أنواع المتغيرات، في حين أن الدالة str_replace()‎ ستقبل السلاسل النصية والمصفوفات. رقم – Number يشير Number إلى أن المعامل يمكن أن يكون عددًا صحيحًا أو عددًا عشريًا. رد النداء – callback استخدم هذا في التوثيق ...

أشباه الأنواع في PHP

أشباه الأنواع هي كلمات مفتاحيَّة مستخدمة في توثيق PHP لتحديد الأنواع أو القيم التي يمكن أن يمتلكها المعامل ولا يمكن استخدامها في الشيفرات البرمجية. مختلط – mixed يعني هذا أن المعامل يقبل العديد من الأنواع -وليس بالضرورة جميعها-. على سبيل المثال الدالة gettype()‎ ستقبل جميع أنواع المتغيرات، في حين أن الدالة str_replace()‎ ستقبل السلاسل النصية والمصفوفات. رقم – Number يشير Number إلى أن المعامل يمكن أن يكون عددًا صحيحًا أو عددًا عشريًا. رد النداء – callback استخدم هذا في التوثيق ...

PHP/Topics

الضبط كيفية ضبط لغة PHP عبر مختلف أنواع ملفات الضبط، وطرائق تعديلها. بنية اللغة تبيان أنواع وسوم لغة PHP، وطريقة دمجها مع HTML، وشرح بعض خصائصها البنيوية (ومن بينها التعليقات). أنواع البيانات لا يعيّن المبرمج نوع المتغير عادةً، بل تُعيِّنُه لغة PHP أثناء التنفيذ بالاعتماد على محتوى المتغير المستخدم. القيم المنطقية (boolean) القيم المنطقية (boolean) من أبسط الأنواع، فالتعبير المنطقي يُعبِّر عن صحّة تعبيرٍ ما، فإما أن تكون قيمة التعبير صحيحةً TRUE أو خطأً FALSE. الأعداد الصحيحة (integer) العدد الصحيح هو عدد من ...

التعامل مع الأنواع في PHP

لا تطلب PHP (أو تدعم) التصريح عن نوع المتغير عند تعريفه، لأنه نوعه يُحدَّد حسب السياق الذي سيستخدم هذا المتغير فيه. وهذا يعني أنَّه إذا أُسنِدَت قيمة سلسلة نصية إلى المتغير ‎$var، فإن نوع المتغير سيكون سلسلة نصية، وإذا أُسنِد عددٌ صحيحٌ، فيصبح نوع المتغير عددًا صحيحًا. ومثال ذلك، معامل الضرب *، إذا استعملناه على قيمتين وكانت إحدى تلك القيمتين عددًا عشريًا فستُعدّ كلا القيمتين على أنهما عددٌ عشريٌ، وكذلك ناتج تلك العملية، ولاحظ أن هذا لا يغير نوع العامل ...

التعامل مع الأنواع في PHP

لا تطلب PHP (أو تدعم) التصريح عن نوع المتغير عند تعريفه، لأنه نوعه يُحدَّد حسب السياق الذي سيستخدم هذا المتغير فيه. وهذا يعني أنَّه إذا أُسنِدَت قيمة سلسلة نصية إلى المتغير ‎$var، فإن نوع المتغير سيكون سلسلة نصية، وإذا أُسنِد عددٌ صحيحٌ، فيصبح نوع المتغير عددًا صحيحًا. ومثال ذلك، معامل الضرب *، إذا استعملناه على قيمتين وكانت إحدى تلك القيمتين عددًا عشريًا فستُعدّ كلا القيمتين على أنهما عددٌ عشريٌ، وكذلك ناتج تلك العملية، ولاحظ أن هذا لا يغير نوع العامل ...

استبدال المُنشئ بتابع التصميم (Replace Constructor with Factory Method)

المشكلة لديك مُنشئ (constructor) معقد يقوم بما هو أكثر من مجرد وضع قيم المعامل في حقول الكائن. الحل إنشاء تابع تصميم واستخدامه لاستبدال استدعاءات المُنشئ. مثال قبل إعادة التصميم وجود منشئ معقد للصنف Employee: في لغة Java: class Employee { Employee(int type) { this.type = type; } //... } في لغة C#‎: public class Employee { public Employee(int type) { this.type = type; } //... } في لغة PHP: class ...

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

(PHP 4, PHP 5, PHP 7) تُعيد الدالة gettype()‎‎‎‎ نوع المتغيّر. الوصف string gettype ( mixed $var ) تُعيد نوع المتغيّر var في PHP. للتحقّق من نوع المتغيّرات استخدم الدوال ذات البادئة is_*‎. المعاملات var المتغيّر المطلوب التحقّق من نوعه. القيم المعادة القيم الممكنة للسلسلة النصّيّة المُعادة هي: "boolean": قيمة منطقية. "integer": عدد صحيح. "double": عدد مُضاعَف الدقة (لأسباب تاريخيّة تُعاد القيمة "double" في حال كان المتغيّر عددًا عشريًّا float، وذلك بدلًا من إعادة القيمة "float" ببساطة). "string": سلسلة نصّيّة. "array": ...

المتغير التكراري في PHP

إن المتغير التكراري Iterable هو شبه نوع (نوع زائف، pseudo-type) عُرِّفَ في الإصدار 7.1 من PHP وهو يقبل أية مصفوفة أو كائن يستخدم واجهة Traversable (أي Traversable interface)، كلا النوعين يمكن تكراره باستخدام حلقة foreach ويمكن أن يُستخدم مع تعبير yield داخل دالة مولِّدة (generator). استخدام Iterables يمكن استخدام Iterable كنوع لمعاملات الدالة (function parameter type) للإشارة إلى الدالة تتطلب مجموعةً من القيم، لكن دون أن تهتم لصيغة القيمة لأنها ستُستخدَم مع حلقة foreach، إذا لم تكن القيم مصفوفة أو ...

المتغير التكراري في PHP

إن المتغير التكراري Iterable هو شبه نوع (نوع زائف، pseudo-type) عُرِّفَ في الإصدار 7.1 من PHP وهو يقبل أية مصفوفة أو كائن يستخدم واجهة Traversable (أي Traversable interface)، كلا النوعين يمكن تكراره باستخدام حلقة foreach ويمكن أن يُستخدم مع تعبير yield داخل دالة مولِّدة (generator). استخدام Iterables يمكن استخدام Iterable كنوع لمعاملات الدالة (function parameter type) للإشارة إلى الدالة تتطلب مجموعةً من القيم، لكن دون أن تهتم لصيغة القيمة لأنها ستُستخدَم مع حلقة foreach، إذا لم تكن القيم مصفوفة أو ...

معاملات الموازنة في أردوينو

تجري معاملات الموازنة (Comparison Operators) عمليةَ موازنةٍ -كما هو اسمها- بين قيمتين أو متغيِّرين أو متغير وقيمة معينة ثم تعيد قيمة منطقية تمثِّل حالة أحد المعاملين (أكبر أو أصغر أو يساوي ...إلخ) نسبةً للآخر. المعامل ‎!=‎ يوازن بين قيمتين أو متغيِّرين ويعيد القيمة true إن كانا غيرَ متساويين. المعامل ‎<‎ يوازن بين قيمتين أو متغيِّرين ويعيد القيمة true إن كان المعامل الموجود في الطرف الأيسر أصغر تمامًا من المعامل الموجود في الطرف الأيمن. المعامل ‎<=‎ يوازن بين قيمتين أو متغيِّرين ...

تبديل رموز الأنواع بالأصناف (Replace Type Code with Class)

ما هو رمز النوع (type code)؟ يحدث رمز النوع عندما يوجد مجموعة من الأرقام أو السلاسل النصية التي تشكل قائمة بالقيم المسموح بها لبعض العناصر بدلًا من استخدام نوع بيانات منفصل. غالبا ما تُعطى هذه الأرقام والسلاسل المحددة أسماءً مفهومة عن طريق الثوابت، وهو السبب في استخدام هذه الرموز بشكل كبير. المشكلة يحتوي الصنف على حقل يحتوي على رموز الأنواع. ولا تُستخدم قيم هذا النوع في شروط المُشغِّل ولا تؤثر على سلوك البرنامج. الحل إنشاء صنف جديد واستخدام كائناته بدلًا ...

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

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

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

(PHP 7 >= 7.1.0) تتحقّق الدالة is_iterable()‎‎ من أنّ محتوى المتغيّر هو قيمة تكراريّة (iterable). الوصف bool is_iterable ( mixed $var ) تتحقّق من أنّ محتوى المتغيّر مقبول بواسطة النّوع الزائف التكراري (iterable pseudo-type)، أي أنّه مصفوفة أو كائن يستخدم الواجهة Traversable. المعاملات var القيمة المطلوب التّحقّق منها. القيم المعادة تُعيد القيمة TRUE إن كان المتغيّر تكراريًّا، و FALSE فيما عدا ذلك. أمثلة المثال 1: أمثلة على الدالة is_iterable()‎ <?php var_dump(is_iterable([1, 2, 3])); // bool(true) var_dump(is_iterable(new ArrayIterator([1, 2, 3]))); // bool(true) var_dump(is_iterable((function ...

القيم المنطقية في PHP

القيم المنطقية (boolean) من أبسط الأنواع، فالتعبير المنطقي يُعبِّر عن صحّة تعبيرٍ ما، فإما أن تكون قيمة التعبير صحيحةً TRUE أو خطأً FALSE. البنية العامة لتحديد قيمة متغير منطقي، استخدم الثوابت TRUE (صحيح) أو FALSE (خطأ)، وكلاهما غير حساس لحالة الأحرف. <?php $foo = True; // إسناد قيمة منطقية إلى المتغير ?> تُعيد المعاملات عادةً قيمًا منطقيةً التي تُمرَّر بدورها إلى بنى التحكم؛ ففي المثال الآتي استخدمنا المعامل == الذي يختبر مساواة قيمتين ويُعيد قيمةً منطقيةً <?php // اختبار المساواة باستعمال المعامل == الذي يعيد قيمةً منطقيةً if ($action ...

القيم المنطقية في PHP

القيم المنطقية (boolean) من أبسط الأنواع، فالتعبير المنطقي يُعبِّر عن صحّة تعبيرٍ ما، فإما أن تكون قيمة التعبير صحيحةً TRUE أو خطأً FALSE. البنية العامة لتحديد قيمة متغير منطقي، استخدم الثوابت TRUE (صحيح) أو FALSE (خطأ)، وكلاهما غير حساس لحالة الأحرف. <?php $foo = True; // إسناد قيمة منطقية إلى المتغير ?> تُعيد المعاملات عادةً قيمًا منطقيةً التي تُمرَّر بدورها إلى بنى التحكم؛ ففي المثال الآتي استخدمنا المعامل == الذي يختبر مساواة قيمتين ويُعيد قيمةً منطقيةً <?php // اختبار المساواة باستعمال المعامل == الذي يعيد قيمةً منطقيةً if ($action ...

الكائنات في 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) للمزيد من المعلومات. التحويل إلى كائن إذا حوّلنا كائنًا إلى كائنٍ آخر فلن يُعدَّل فيه شيء، أما إذا حولنا قيمةً من أي نوعٍ آخر إلى كائن، فستُنشَأ نسخةً جديدةً من ...

الدالة functools.tools.cmp_to_key()‎ في بايثون

تُحوّل الدّالة functools.cmp_to_key()‎ دالّة مُقارنة (comparison function) إلى دالّة مفتاح (key function). تُستعمل مع الأدوات التي تقبل دوالّ مفتاح مثل sorted()‎، وmin()‎، وmax()‎، وheapq.nlargest()‎، وheapq.nsmallest()‎، وitertools.groupby()‎. تُستعمل هذه الدّالة أساسًا كأداة لنقل البرامج من Python 2 التي دعمت استعمال دوال المُقارنة. دالّة المُقارنة هي كلّ كائن قابل للاستدعاء يستقبل مُعاملين ويُقارن بينهما، ويُعيد عددًا سالبًا في حالة أصغر من، الصّفر في حالة التّساوي، وعددًا موجبًا في حالة أكبر من. ودالّة مفتاح هي كائن قابل للاستدعاء يستقبل مُعاملًا واحدًا ويُعيد قيمةً ...

القيمة NULL في PHP

تمثل القيمة الخاصة NULL متغيرًا دون قيمة، فالقيمة NULL هي القيمة الوحيد الممكنة من نوع البيانات null. تُعدّ قيمة المتغير تساوي NULL إذا: تم تعيين الثابت NULL إليه. لم يتم تعيين أية قيمة له. تم استخدام الدالة unset()‎ معه. البنية العامة توجد قيمة واحدة فقط من نوع null، وهي الثابت -غير الحساس لحالة الأحرف- NULL. <?php $var = NULL;        ?> راجع أيضا صفحة الدالة is_null()‎ و unset()‎. التحويل إلى NULL تحذير: تم إلغاء هذه الميزة بدءًا من الإصدار 7.2.0 من PHP، لذا لا يُنصَح ...

القيمة NULL في PHP

تمثل القيمة الخاصة NULL متغيرًا دون قيمة، فالقيمة NULL هي القيمة الوحيد الممكنة من نوع البيانات null. تُعدّ قيمة المتغير تساوي NULL إذا: تم تعيين الثابت NULL إليه. لم يتم تعيين أية قيمة له. تم استخدام الدالة unset()‎ معه. البنية العامة توجد قيمة واحدة فقط من نوع null، وهي الثابت -غير الحساس لحالة الأحرف- NULL. <?php $var = NULL;        ?> راجع أيضا صفحة الدالة is_null()‎ و unset()‎. التحويل إلى NULL تحذير: تم إلغاء هذه الميزة بدءًا من الإصدار 7.2.0 من PHP، لذا لا يُنصَح ...

الأعداد الصحيحة في PHP

العدد الصحيح هو عدد من المجموعة ℤ = {…, -2, -1, 0, 1, 2, …}‎‎. البنية العامة يمكن تحديد الأعداد الصحيحة باستخدام النظام العشري (decimal، أي ذو الأساس 10) والست عشري (hexadecimal، الأساس 16) والثماني (octal، الأساس 8) والثنائي (binary، الأساس 2)، كما يمكن أن يسبقها (اختياريًا) إشارة - أو +. أصبحت الأعداد الثنائية موجودة منذ الإصدار PHP 5.4.0.  يجب أن يسبق العدد بالقيمة 0 لاستخدام النظام الثماني، وبالقيمة 0x لاستخدام النظام الست عشري، أما النظام الثنائي فيجب وضع 0b ...

الأعداد الصحيحة في PHP

العدد الصحيح هو عدد من المجموعة ℤ = {…, -2, -1, 0, 1, 2, …}‎‎. البنية العامة يمكن تحديد الأعداد الصحيحة باستخدام النظام العشري (decimal، أي ذو الأساس 10) والست عشري (hexadecimal، الأساس 16) والثماني (octal، الأساس 8) والثنائي (binary، الأساس 2)، كما يمكن أن يسبقها (اختياريًا) إشارة - أو +. أصبحت الأعداد الثنائية موجودة منذ الإصدار PHP 5.4.0.  يجب أن يسبق العدد بالقيمة 0 لاستخدام النظام الثماني، وبالقيمة 0x لاستخدام النظام الست عشري، أما النظام الثنائي فيجب وضع 0b ...

الثوابت المعرَّفة مسبقًا في قسم التعامل مع نظام الملفات في PHP

الثوابت المذكورة في الأسفل مُعرَّفةٌ باستعمال هذا الملحق، وستُتاح هذه الثوابت فقط عند توفُّر الملحق إمّا عندما تُفسَّر (compiled) إلى لغة PHP أو عند التحميل الديناميكي وقت التنفيذ. الاسم النوع الوصف SEEK_SET integer SEEK_CUR integer SEEK_END integer LOCK_SH integer LOCK_EX integer LOCK_UN integer LOCK_NB integer GLOB_BRACE integer GLOB_ONLYDIR integer GLOB_MARK integer GLOB_NOSORT integer GLOB_NOCHECK integer GLOB_NOESCAPE integer GLOB_AVAILABLE_FLAGS integer PATHINFO_DIRNAME integer PATHINFO_BASENAME integer PATHINFO_EXTENSION integer PATHINFO_FILENAME integer منذ إصدار PHP 5.2.0. FILE_USE_INCLUDE_PATH integer البحث عن اسم الملف filename في المسار ...

تبديل رموز الأنواع بالأصناف الفرعية (Replace Type Code with Subclasses)

ما هو رمز النوع؟ يحدث رمز النوع عندما يوجد مجموعة من الأرقام أو السلاسل النصية التي تشكل قائمة بالقيم المسموح بها لبعض العناصر بدلًا من استخدام نوع بيانات منفصل. وغالبًا ما تُعطَى هذه الأرقام والسلاسل المحددة أسماءً مفهومة عن طريق الثوابت، وهو السبب في استخدام هذه الرموز بشكل كبير. المشكلة يؤثر النوع المُرمَّز على سلوك البرنامج (تُطلِق قيم هذا الحقل رموز مختلفة في الشرطيات). الحل إنشاء أصناف فرعية لكل قيمة من النوع المُرمَّز. ثم استخراج السلوكيات ذات الصلة من الصنف ...

التحقق من الأنواع (Type Check) والتحويل بينها (Casting) في لغة Kotlin

المعاملين is و ‎!is تدعم لغة Kotlin ميّزة التحقُّق من توافق الكائن مع أحد الأنواع أثناء التنفيذ، وذلك بالاعتماد على المُعامِل is أو صيغته المنفيّة ‎!is كما في الشيفرة: if (obj is String) { print(obj.length) } if (obj !is String) { // !(obj is String) مكافئ للصيغة print("Not a String") } else { print(obj.length) } التحويلات الذكية (Smart Casts) لا حاجة في كثيرٍ من الأحيان لجعل التحويل صريحًا (explicit) في لغة Kotlin لأنّ المترجم (compiler) يتتبَّع ...

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