المعاملات المنطقية - الجزء الثالث
جزء من قسم الأساسيات في رحلة Ruby على Coddy — الدرس 19 من 88.
توفر لغة Ruby أيضاً بدائل تعتمد على الكلمات للمعاملات المنطقية: and، و or، و not. تعمل هذه المعاملات بشكل مشابه لـ &&، و ||، و !، ولكن مع اختلاف واحد مهم: فهي تمتلك أولوية تنفيذ (precedence) أقل.
true and false # false (نفس &&)
true or false # true (نفس ||)
not true # false (نفس !)تعني الأسبقية المنخفضة أن هذه العوامل يتم تقييمها بعد عملية التعيين (assignment). قد يؤدي هذا إلى سلوك غير متوقع:
result = true && false # النتيجة هي false
result = true and false # النتيجة هي true!في المثال الثاني، تحدث عملية التعيين أولاً (result = true)، ثم يتم تقييم and false ولكن يتم تجاهل نتيجتها. هذا هو السبب في أن معظم مطوري Ruby يفضلون &&، و ||، و ! للشروط.
عادةً ما تُحجز الإصدارات النصية (الكلمات) لحالات التحكم في التدفق، والتي ستصادفها لاحقاً. في الوقت الحالي، التزم بعوامل الرموز (&&، ||، !) عند كتابة الشروط لتجنب المفاجآت.
التحدي
سهللقد تم تزويدك بالمتغيرات التالية:
a = true
b = false
c = trueاستخدم العمليات المنطقية المعتمدة على الكلمات (and، و or، و not) لتقييم وعرض التعبيرات التالية، كل منها في سطر منفصل:
a and ba or bnot ba and cb or cnot a
يجب أن يكون كل مخرج إما true أو false.
ورقة مرجعية
توفر لغة Ruby بدائل تعتمد على الكلمات للمعاملات المنطقية: and و or و not. تعمل هذه المعاملات بشكل مشابه لـ && و || و !، ولكن بأسبقية أقل.
true and false # false
true or false # true
not true # falseتعني الأسبقية المنخفضة أن هذه المعاملات يتم تقييمها بعد عملية التعيين، مما قد يؤدي إلى سلوك غير متوقع:
result = true && false # result is false
result = true and false # result is true!في المثال الثاني، تحدث عملية التعيين أولاً (result = true)، ثم يتم تقييم and false ولكن يتم تجاهل نتيجتها.
يفضل معظم مطوري Ruby استخدام && و || و ! للشروط لتجنب المفاجآت. عادةً ما يتم حجز إصدارات الكلمات لحالات التحكم في التدفق (control flow).
جرّب بنفسك
# المتغيرات مقدمة لك
a = true
b = false
c = true
# المهام المطلوبة: اكتب الكود الخاص بك أدناه
# استخدم العوامل المنطقية النصية (and, or, not) لتقييم وطباعة كل تعبير
# يجب طباعة كل نتيجة في سطر منفصليتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعاملات المنطقية - الجزء الرابع7حاسبة تقسيم الفاتورة
رسالة الترحيبالحصول على مدخلات المستخدم2المتغيرات وأنواع البيانات
الأرقام والمتغيراتنوع البيانات Stringنوع البيانات Booleanنوع البيانات Symbolالتحقق من أنواع البياناتقواعد التسميةملخص - إنشاء المتغيرات8الحلقات التكرارية
حلقة For مع النطاقاتحلقة WhileBreakNextمراجعة - المضروب (Factorial)حلقة Timesحلقة Untilالحلقات المتداخلةمراجعة - الإدخال الديناميكي (Dynamic Input)3المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةاختصارات العمليات الحسابيةمراجعة - العمليات الرياضية البسيطةمعاملات المقارنة6أساسيات الإدخال والإخراج
الإخراج باستخدام putsالإخراج باستخدام print و pالإخراج باستخدام المتغيراتالإدخال باستخدام getsدالة Chompتحويل أنواع البياناتمراجعة - حاسبة العمرمراجعة - صح أم خطأ