قيم Truthy و Falsy
جزء من قسم الأساسيات في رحلة Lua على Coddy. الدرس 24 من 90.
عند استخدام العوامل المنطقية مثل and وor وnot، تحتاج Lua إلى تحديد ما يُعَدّ «صحيحًا» أو «خطأً» في السياقات المنطقية. يُسمّى هذا المفهوم القيم الصادقة والكاذبة، وتتعامل Lua معه بطريقة مختلفة عن العديد من لغات البرمجة الأخرى.
في Lua، تُعَدّ قيمتان فقط زائفتين (تُعامَلان كأنهما false في العمليات المنطقية):
print(false and "skipped") -- يطبع false: تُعدّ false قيمة غير صادقة
print(nil and "skipped") -- يطبع nil: تُعدّ nil قيمة غير صادقةلاحظ أن and وor تُعيدان أحد معامِلَيهما، وليس true أو false فقط: تعطي a and b القيمة a عندما تكون a زائفة، وإلا فتعطي b؛ وتعطي a or b القيمة a عندما تكون a صادقة، وإلا فتعطي b. لذلك، يطبع السطران أعلاه false وnil، ويطبع كل سطر أدناه نصه.
كل ما عدا ذلك في Lua يُعد صادقًا (ويُعامل على أنه true في العمليات المنطقية). ويشمل ذلك قيمًا قد تفاجئك إذا كنت قادمًا من لغات أخرى:
print(0 and "This will print") -- تُعدّ 0 قيمة صادقة في Lua!
print("" and "This will print") -- تُعدّ السلسلة النصية الفارغة قيمة صادقة!
print({} and "This will print") -- يُعدّ الجدول الفارغ قيمة صادقة!جرّب بنفسك
لا يتضمّن هذا الدرس تحدّيًا برمجيًا.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات 2: العمليات العلائقية والمنطقية
معاملات التساويالمعاملات العلائقيةالمعامل 'and'المعامل 'or'المعامل 'not'التقييم قصير الدائرةقيم Truthy و Falsyمراجعة - المنطق البسيط10الجداول الجزء 1: نمط القائمة
ما هو الجدول؟إنشاء جدولالوصول إلى العناصر عبر الفهرستعديل العناصر عبر الفهرسمعامل الطول '#'table.insert()table.remove()ملخص - إدارة أعضاء الفريق13مشروع: متجر جرعات بسيط
إعداد المشروعإضافة جرعة2المتغيرات وأنواع البيانات
ما هو المتغير؟الأرقامالسلاسل النصيةالقيم المنطقيةالقيمة 'nil'الدالة type()قواعد التسميةمراجعة - ملف الشخصية5الإخراج الأساسي
طباعة القيم الحرفيةطباعة المتغيراتطباعة قيم متعددةدمج النصوص والمتغيراتدالة tostring()الإدخال (Input)التحويل (Cast)مراجعة - تقرير الحالةمراجعة - حتى 1208أساسيات معالجة النصوص
string.len()string.upper و string.lowerstring.sub()string.rep()string.find()مراجعة - تنسيق اسم المستخدم3المعاملات 1: العمليات الحسابية والدمج
المعاملات الحسابيةمعامل باقي القسمةمعامل الأسدمج النصوصأولوية المعاملاتملخص - حسابات بسيطة6مشروع: عرض إحصائيات الشخصية
رسالة ترحيبتعريف إحصائيات الشخصية9أساسيات الدوال
تعريف دالةاستدعاء دالةدوال مع معاملاتدوال بمعاملات متعددةجملة 'return'مراجعة - حاسبة المساحة12أساسيات الحلقات التكرارية
حلقة whileحلقة repeat-untilحلقة for الرقميةحلقة for مع خطوةجملة 'break'مراجعة - العد التنازليتدرّب بنفسك: مترجم Lua عبر الإنترنت