المعاملات المنطقية - الجزء الأول
جزء من قسم Fundamentals في رحلة Rust على Coddy — الدرس 20 من 75.
المعاملات المنطقية تُستخدم للتحقق من مجموعات من المقارنات التي تُرجع true أو false.
على سبيل المثال، تحتوي العبارة التالية على مقارنتين:
هل 5 أكبر من 3 و أقل من 6؟
| المعامل | المعنى | مثال |
|---|---|---|
&& | و (And) - true إذا كانت جميع المعاملات true | a && b |
|| | أو (Or) - true إذا كان أي معامل true | a || b |
! | ليس (Not) - true إذا كان المعامل false | !a |
لنلقِ نظرة على بعض الأمثلة،
5 أكبر من 3 و 1 يساوي 1،
let b1: bool = (5 > 3) && (1 == 1); // النتيجة trueالشرح: جميع المعاملات هي true، لذا فإن b1 سيحمل القيمة true (عملية and تكون true إذا كان كلا المعاملين true) .
5 لا تساوي 4 أو 5 تساوي 2،
let b2: bool = !(5 == 4) || (5 == 2); // تحمل القيمة trueالشرح: المعامل الأول (5 != 4) هو true لذا فإن b2 هي أيضاً true (عملية or تكون true إذا كان أي من المعاملين true)
1 لا يساوي 1 أو خطأ،
let b3: bool = !(1 == 1) || false; // يحمل القيمة falseالشرح: جميع المعاملات هي false، لذا سيحتوي b3 على false (عملية or).
ليس (3 أكبر من 4)،
let b4: bool = !(3 > 4); // يحمل القيمة trueالشرح: المعامل هو false، لذا فإن b4 سيحمل القيمة true (عملية not).
ليس (5 أكبر من 10 أو 5 أكبر من 1)،
let b5: bool = !(5 > 10 || 5 > 1); // يحمل القيمة falseالشرح: 5 > 10 || 5 > 1 هو true (أحد المعاملات هو true)، لذا في المجمل b5 هي false (عملية not).
التحدي
مبتدئلقد تم تزويدك بكود، استبدل علامات الاستفهام للمتغيرات b1 و b2 بقيم منطقية (Boolean) بحيث يحتوي b3 على true.
هناك أكثر من حل صحيح.
ورقة مرجعية
تُستخدم العوامل المنطقية للتحقق من مجموعات المقارنات التي تُرجع true أو false.
| العامل | المعنى | مثال |
|---|---|---|
&& |
و (And) - تكون true إذا كانت جميع المعاملات true |
a && b |
|| |
أو (Or) - تكون true إذا كان أي من المعاملات true |
a || b |
! |
ليس (Not) - تكون true إذا كان المعامل false |
!a |
أمثلة:
let b1: bool = (5 > 3) && (1 == 1); // true (كلا المعاملين true)
let b2: bool = !(5 == 4) || (5 == 2); // true (المعامل الأول true)
let b3: bool = !(1 == 1) || false; // false (كلا المعاملين false)
let b4: bool = !(3 > 4); // true (المعامل false، لذا تُرجع عملية "ليس" true)
let b5: bool = !(5 > 10 || 5 > 1); // false (التعبير بالداخل true، لذا تُرجع عملية "ليس" false)جرّب بنفسك
fn main() {
// اكتب كودك بالأسفل
let b1: bool = ?;
let b2: bool = ?;
let b3: bool = b1 || b2;
// لا تغير السطر بالأسفل
println!("b3 = {}", b3);
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)اختصارات العمليات الحسابيةمعاملات المقارنةمقارنة النصوص7أساسيات الإدخال والإخراج
الطباعة على الكونسولقراءة مدخلات المستخدممراجعة - حتى 120مراجعة - True أو False2المتغيرات - الجزء الأول
الأرقامالمحارف (Char)النصوص (String)القيم المنطقية (Boolean)المتغيرات القابلة للتغيير5المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالث11الدوال
تعريف الدوالالمعاملات والوسائطقيم الإرجاعقيم إرجاع متعددةمراجعة - دالة Sigmaمراجعة - دالة التحقق14التكرار عبر المصفوفات
دليل النطاق (Range)حلقة For المحسنةالاستعارة في الحلقةعمليات المصفوفات الشائعة3المتغيرات - الجزء الثاني
التصريح عن النوعقواعد التسميةاستنتاج النوعمراجعة - تهيئة المتغيراتتحويل الأنواع9الحلقات التكرارية
For عبر السلاسلحلقة Whileجملة Breakجملة Continueالحلقات المتداخلةتسميات الحلقاتالحلقة اللانهائيةمراجعة - الإدخال الديناميكي