Liquid/types

من موسوعة حسوب
مراجعة 01:36، 1 أغسطس 2021 بواسطة Ola-abbas (نقاش | مساهمات) (أنشأ الصفحة ب'== الأنواع في لغة Liquid == لكائنات لغة ليكود أحد الأنواع الستة التالية: * سلسلة نصية String. * عدد Number....')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

الأنواع في لغة Liquid

لكائنات لغة ليكود أحد الأنواع الستة التالية:

  • سلسلة نصية String.
  • عدد Number.
  • قيمة منطقية Boolean.
  • القيمة Nil.
  • مصفوفة Array.
  • EmptyDrop.

يمكنك تهيئة المتغيرات في لغة ليكود باستخدام وسوم assign أو capture.

السلسلة النصية String

السلاسل النصية هي عبارة عن تسلسلات من المحارف مُغلَّفة في علامات اقتباس مفردة أو مزدوجة:

{% assign my_string = "Hello World!" %}

لا تحوّل لغة ليكود تسلسلات الهروب escape sequences إلى محارف خاصة.

العدد Number

يتضمن الأعداد العشرية floats والأعداد الصحيحة integers:

{% assign my_int = 25 %}
{% assign my_float = -39.756 %}

القيمة المنطقية Boolean

القيم المنطقية إما true أو false، ولا حاجة لعللامات اقتباس عند الإعلان عن قيمة منطقية:

{% assign foo = true %}
{% assign bar = false %}

القيمة Nil

Nil هي قيمة فارغة خاصة تعاد عندما لا يكون لشيفرة Liquid أيّ نتائج، وهي ليست سلسلة نصية مؤلفة مع الأحرف "nil". يجري التعامل مع القيمة Nil على أنها القيمة false ضمن شروط كتل if ووسوم لغة Liquid الأخرى التي تتحقق من صحة شرطٍ ما.

إن لم يكن المستخدم موجودًا في المثال التالي (أي أعاد المستخدم user القيمة nil)، فلن تطبع لغة Liquid التحية:

{% if user %}
  Hello {{ user.name }}!
{% endif %}

لن تطبع الوسوم أو الخرج الذي يعيد القيمة nil أيّ شيء على الصفحة.

الدخل
The current user is {{ user.name }}
الخرج
The current user is

المصفوفة Array

المصفوفات تحتوي على قوائم من المتغيرات التي تكون من أيّ نوع.

الوصول إلى عناصر المصفوفة

يمكنك الوصول إلى جميع عناصر المصفوفة من خلال المرور على كل عنصر في المصفوفة باستخدام وسم التكرار iteration tag.

الدخل
<!-- if site.users = "Tobi", "Laura", "Tetsuro", "Adam" -->
{% for user in site.users %}
  {{ user }}
{% endfor %}
الخرج
Tobi Laura Tetsuro Adam

الوصول إلى عناصر محددة في المصفوفات

يمكنك استخدام صيغة [ ] الأقواس المربعة للوصول إلى عنصر محدّد في المصفوفة. تبدأ أدلة عناصر المصفوفة من الصفر، ويُحسَب الدليل السالب من نهاية المصفوفة.

الدخل
<!-- if site.users = "Tobi", "Laura", "Tetsuro", "Adam" -->
{{ site.users[0] }}
{{ site.users[1] }}
{{ site.users[-1] }}
الخرج
Tobi

Laura

Adam

تهيئة المصفوفات

لا يمكنك تهيئة المصفوفات باستخدام لغة Liquid فقط، ولكن يمكنك استخدام مرشّح الانقسام split لتقسيم سلسلة نصية إلى مصفوفة من السلاسل النصية الفرعية.

EmptyDrop

يُعاد كائن EmptyDrop إذا حاولت الوصول إلى كائن محذوف. تُعَدّ كلٌّ من الكائنات page_1 و page_2 و page_3 في المثال التالي كائنات EmptyDrop:

{% assign variable = "hello" %}
{% assign page_1 = pages[variable] %}
{% assign page_2 = pages["does-not-exist"] %}
{% assign page_3 = pages.this-handle-does-not-exist %}

التحقق من الفراغ

يمكنك التحقق لمعرفة ما إذا كان الكائن موجودًا أم لا قبل الوصول إلى أيٍّ من سماته attributes.

{% unless pages == empty %}
  <h1>{{ pages.frontpage.title }}</h1>
  <div>{{ pages.frontpage.content }}</div>
{% endunless %}

ستعيد كلٌّ من السلاسل النصية الفارغة والمصفوفات الفارغة القيمة true إذا جرى التحقق منها بالتكافؤ مع empty.

مصادر