Menu
CoddyTech

قيم Truthy و Falsy

جزء من قسم الأساسيات في رحلة Lua على Coddy. الدرس 24 من 90.

عند استخدام العوامل المنطقية مثل and وor وnot، تحتاج Lua إلى تحديد ما يُعدّ «صحيحًا» أو «خطأً» في السياقات المنطقية. يُسمّى هذا المفهوم القيم الصادقة والكاذبة، وتتعامل Lua معه بطريقة مختلفة عن العديد من لغات البرمجة الأخرى.

في Lua، تُعدّ قيمتان فقط زائفتين (أي تُعاملان كـ false في العمليات المنطقية):

print(false and "This won't print")  -- false تُعدّ قيمة منطقية خاطئة
print(nil and "This won't print")    -- 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")     -- يُعدّ الجدول الفارغ قيمة صادقة!

جرّب بنفسك

لا يتضمّن هذا الدرس تحدّيًا برمجيًا.

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الأساسيات

تدرّب بنفسك: مترجم Lua عبر الإنترنت