المعاملات المنطقية - الجزء الرابع
جزء من قسم الأساسيات في رحلة Ruby على Coddy — الدرس 20 من 88.
عندما تجمع بين عدة معاملات منطقية في تعبير واحد، يقوم Ruby بتقييمها بترتيب معين بناءً على أسبقية المعاملات. يساعدك فهم هذا الترتيب على كتابة شروط صحيحة وتجنب النتائج غير المتوقعة.
الأسبقية من الأعلى إلى الأدنى هي: ! (ليس)، ثم && (و)، ثم || (أو). هذا يعني أنه يتم تقييم ! أولاً، يليه &&، وأخيراً ||:
true || false && false # true (يتم تقييم && أولاً)
# مماثل لـ: true || (false && false)
!false && true # true (يتم تقييم ! أولاً)
# مماثل لـ: (!false) && trueيمكنك استخدام الأقواس لتجاوز الأسبقية الافتراضية وجعل نواياك واضحة:
(true || false) && false # false (الأقواس تفرض تنفيذ || أولاً)
true || (false && false) # true (السلوك الافتراضي)حتى عندما لا تكون الأقواس ضرورية تماماً، فإن إضافتها غالباً ما تجعل التعبيرات المعقدة أسهل في القراءة. عند الشك، استخدم الأقواس لتوضيح كيفية تجميع الشروط بشكل صريح.
التحدي
سهللقد تم تزويدك بالمتغيرات التالية:
x = true
y = false
z = true
a = falseقم بتقييم التعبيرات التالية واعرض كل نتيجة في سطر منفصل. انتبه إلى أسبقية العمليات: يتم تقييم ! أولاً، ثم &&، وأخيراً ||.
x || y && z!y && zx && y || z!a || y && zx && !y && z(x || y) && ax || (y && a)!(x && y) || z
يجب أن يكون كل مخرج إما true أو false.
ورقة مرجعية
تقوم Ruby بتقييم العوامل المنطقية بترتيب معين بناءً على أسبقية العوامل:
!(not) - الأسبقية الأعلى&&(and) - أسبقية متوسطة||(or) - الأسبقية الأدنى
أمثلة على أسبقية العوامل:
true || false && false # true (يتم تقييم && أولاً)
# مماثل لـ: true || (false && false)
!false && true # true (يتم تقييم ! أولاً)
# مماثل لـ: (!false) && trueاستخدم الأقواس لتجاوز الأسبقية الافتراضية أو لتحسين قابلية القراءة:
(true || false) && false # false (الأقواس تفرض تقييم || أولاً)
true || (false && false) # true (السلوك الافتراضي)جرّب بنفسك
# المتغيرات معرفة مسبقاً لك
x = true
y = false
z = true
a = false
# TODO: قم بتقييم كل تعبير واطبع النتيجة في سطر منفصل
# تذكر أسبقية العمليات: ! أولاً، ثم &&، ثم ||
# 1. x || y && z
puts # تعبيرك هنا
# 2. !y && z
puts # تعبيرك هنا
# 3. x && y || z
puts # تعبيرك هنا
# 4. !a || y && z
puts # تعبيرك هنا
# 5. x && !y && z
puts # تعبيرك هنا
# 6. (x || y) && a
puts # تعبيرك هنا
# 7. x || (y && a)
puts # تعبيرك هنا
# 8. !(x && y) || z
puts # تعبيرك هنايتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعاملات المنطقية - الجزء الرابع7حاسبة تقسيم الفاتورة
رسالة الترحيبالحصول على مدخلات المستخدم2المتغيرات وأنواع البيانات
الأرقام والمتغيراتنوع البيانات Stringنوع البيانات Booleanنوع البيانات Symbolالتحقق من أنواع البياناتقواعد التسميةملخص - إنشاء المتغيرات8الحلقات التكرارية
حلقة For مع النطاقاتحلقة WhileBreakNextمراجعة - المضروب (Factorial)حلقة Timesحلقة Untilالحلقات المتداخلةمراجعة - الإدخال الديناميكي (Dynamic Input)3المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةاختصارات العمليات الحسابيةمراجعة - العمليات الرياضية البسيطةمعاملات المقارنة6أساسيات الإدخال والإخراج
الإخراج باستخدام putsالإخراج باستخدام print و pالإخراج باستخدام المتغيراتالإدخال باستخدام getsدالة Chompتحويل أنواع البياناتمراجعة - حاسبة العمرمراجعة - صح أم خطأ