قيم Truthy و Falsy
جزء من قسم Fundamentals في رحلة Lua على Coddy — الدرس 24 من 90.
عند استخدام المعاملات المنطقية مثل and و or و not، تحتاج Lua إلى تحديد ما يُعتبر "true" أو "false" في السياقات المنطقية. يُسمى هذا المفهوم القيم الحقيقية (truthy) والقيم الزائفة (falsy)، وتتعامل Lua مع هذا الأمر بشكل مختلف عن العديد من لغات البرمجة الأخرى.
في لغة Lua، تُعتبر قيمتان فقط خاطئة (falsy) (تُعامل كـ false في العمليات المنطقية):
print(false and "This won't print") -- false هي قيمة خاطئة (falsy)
print(nil and "This won't print") -- nil هي قيمة خاطئة (falsy)كل شيء آخر في Lua يُعتبر truthy (يُعامل كـ true في العمليات المنطقية). يتضمن ذلك القيم التي قد تفاجئك إذا كنت قادماً من لغات أخرى:
print(0 and "This will print") -- 0 هو قيمة truthy في Lua!
print("" and "This will print") -- السلسلة النصية الفارغة هي قيمة truthy!
print({} and "This will print") -- الجدول الفارغ هو قيمة truthy!ورقة مرجعية
في لغة Lua، تُعتبر قيمتان فقط خاطئتين (falsy) (تُعاملان كـ false في العمليات المنطقية):
falsenil
كل شيء آخر يُعتبر صحيحاً (truthy)، بما في ذلك:
0(على عكس العديد من اللغات الأخرى)- السلاسل النصية الفارغة
"" - الجداول الفارغة
{}
print(false and "Won't print") -- false هي قيمة خاطئة (falsy)
print(nil and "Won't print") -- nil هي قيمة خاطئة (falsy)
print(0 and "Will print") -- 0 هي قيمة صحيحة (truthy) في Lua
print("" and "Will print") -- السلسلة النصية الفارغة هي قيمة صحيحة (truthy)جرّب بنفسك
لا يتضمّن هذا الدرس تحدّيًا برمجيًا.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
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'مراجعة - العد التنازلي