Liquid/truthy-and-falsy

من موسوعة حسوب

نوعا القيم Truthy و Falsy

تقرّر لغةُ Liquid عند استخدام نوع بيانات غير منطقي ضمن سياق منطقي (كالوسم الشرطي conditional tag) تقييمَ هذه البيانات على أنها true أو false. تسمَّى أنواع البيانات التي تعيد القيمة true افتراضيًا بالاسم truthy، وتسمَّى أنواع البيانات التي تعيد القيمة false افتراضيًا بالاسم falsy.

Truthy

جميع القيم في لغة Liquid هي truthy باستثناء القيمتين nil و false.

ليس النص "Tobi" منطقيًا في المثال التالي، ولكنه Truthy ضمن الشرط:

{% assign name = "Tobi" %}

{% if name %}
  This text will always appear since "name" is defined.
{% endif %}

السلاسل النصية Strings هي truthy حتى عندما تكون فارغة. سينشئ المثال التالي وسوم HTML فارغة، إذا كانت الفئة page.category موجودةً مسبقًا ولكنها فارغة:

الدخل الخرج
{% if page.category %}
  <h1>{{ page.category }}</h1>
{% endif %}
  <h1></h1>

Falsy

القيم الوحيدة التي من النوع Falsy في لغة Liquid هي nil و false.

الخلاصة

يلخّص الجدول التالي قيم truthy وقيم falsy في لغة Liquid:

القيمة truthy falsy
true
false
nil
string
empty string
0
integer
float
array
empty array
page
EmptyDrop

مصادر