الفرق بين المراجعتين لصفحة: «Liquid/variable»

من موسوعة حسوب
لا ملخص تعديل
ط مراجعة
سطر 1: سطر 1:
== الوسوم Tags ذات النوع المتغير Variable ==
<noinclude>{{DISPLAYTITLE:وسوم المتغيرات في Liquid}}</noinclude>
تنشئ الوسوم المتغيرة متغيرات Liquid جديدة.
تنشئ الوسوم الخاصة بالمتغيرات متغيرات Liquid جديدة.


=== assign ===
= <code>assign</code> =
ينشئ هذا الوسم متغيرًا جديدًا له اسم.
ينشئ هذا الوسم متغيرًا جديدًا له اسم.<syntaxhighlight lang="liquid">
{| class="wikitable"
|+
!الدخل
!الخرج
|-
|<syntaxhighlight lang="liquid">
{% assign my_variable = false %}
{% assign my_variable = false %}
{% if my_variable != true %}
{% if my_variable != true %}
   This statement is valid.
   This statement is valid.
{% endif %}
{% endif %}
</syntaxhighlight>
</syntaxhighlight>الخرج:<syntaxhighlight lang="liquid">
|<syntaxhighlight lang="liquid">
This statement is valid.
This statement is valid.
</syntaxhighlight>
</syntaxhighlight>غلّف القيمة بعلامة الاقتباس <code>"</code> لحفظها كمتغير من النوع سلسلة نصية string.<syntaxhighlight lang="liquid">
|}
غلّف القيمة بعلامة الاقتباس <code>"</code> لحفظها كمتغير من النوع سلسلة نصية string.
{| class="wikitable"
!الدخل
!الخرج
|-
|<syntaxhighlight lang="liquid">
{% assign foo = "bar" %}
{% assign foo = "bar" %}
{{ foo }}
{{ foo }}
</syntaxhighlight>الخرج:<syntaxhighlight lang="liquid">
bar
</syntaxhighlight>
</syntaxhighlight>
| <code>bar</code>
== <code>capture</code> ==
|}
يلتقط هذا الوسم السلسلة النصية الموجودة بين وسوم الفتح والإغلاق ويسندها لمتغير. تُخزَّن المتغيرات المُنشَأة باستخدام الوسم <code>capture</code> كسلاسل نصية.<syntaxhighlight lang="liquid">
=== capture ===
يلتقط هذا الوسم السلسلة النصية الموجودة بين وسوم الفتح والإغلاق ويسندها لمتغير. تُخزَّن المتغيرات المُنشَأة باستخدام الوسم <code>capture</code> كسلاسل نصية.
{| class="wikitable"
!الدخل
!الخرج
|-
|<syntaxhighlight lang="liquid">
{% capture my_variable %}I am being captured.{% endcapture %}
{% capture my_variable %}I am being captured.{% endcapture %}
{{ my_variable }}
{{ my_variable }}
</syntaxhighlight>
</syntaxhighlight>الخرج:<syntaxhighlight lang="liquid">
|<syntaxhighlight lang="liquid">
I am being captured.
I am being captured.
</syntaxhighlight>
</syntaxhighlight>يمكنك باستخدام الوسم <code>capture</code> إنشاء سلاسل نصية معقدة عن طريق استخدام متغيرات أخرى منشَأة باستخدام الوسم <code>assign</code>.<syntaxhighlight lang="liquid">
|}
يمكنك باستخدام الوسم <code>capture</code> إنشاء سلاسل نصية معقدة عن طريق استخدام متغيرات أخرى منشَأة باستخدام الوسم <code>assign</code>.
{| class="wikitable"
!الدخل
!الخرج
|-
|<syntaxhighlight lang="liquid">
{% assign favorite_food = "pizza" %}
{% assign favorite_food = "pizza" %}
{% assign age = 35 %}
{% assign age = 35 %}
سطر 58: سطر 31:


{{ about_me }}
{{ about_me }}
</syntaxhighlight>
</syntaxhighlight>الخرج:<syntaxhighlight lang="liquid">
|<syntaxhighlight lang="liquid">
I am 35 and my favourite food is pizza.
I am 35 and my favourite food is pizza.
</syntaxhighlight>
</syntaxhighlight>
|}
== <code>increment</code> ==
=== increment ===
ينشئ ويخرج متغيرًا عدديًا جديدًا بقيمة أولية <code>0</code>، حيث يزيد في الاستدعاءات اللاحقة من قيمته بمقدار واحد ويعطي القيمة الجديدة.<syntaxhighlight lang="liquid">
ينشئ ويخرج متغيرًا عدديًا جديدًا بقيمة أولية <code>0</code>، حيث يزيد في الاستدعاءات اللاحقة من قيمته بمقدار واحد ويعطي القيمة الجديدة.
{| class="wikitable"
!الدخل
!الخرج
|-
|<syntaxhighlight lang="liquid">
{% increment my_counter %}
{% increment my_counter %}
{% increment my_counter %}
{% increment my_counter %}
{% increment my_counter %}
{% increment my_counter %}
</syntaxhighlight>
</syntaxhighlight>الخرج:<syntaxhighlight lang="liquid">
|<syntaxhighlight lang="liquid">
0
0
1
1
2
2
</syntaxhighlight>
</syntaxhighlight>المتغيرات المُنشَأة باستخدام الوسم <code>increment</code> مستقلةٌ عن المتغيرات المُنشَأة باستخدام الوسمين <code>assign</code> أو <code>capture</code>.
|}
المتغيرات المُنشَأة باستخدام الوسم <code>increment</code> مستقلةٌ عن المتغيرات المُنشَأة باستخدام الوسمين <code>assign</code> أو <code>capture</code>.


سننشئ في المثال التالي متغيرًا بالاسم "var" باستخدام الوسم <code>assign</code>، ثم سنستخدم الوسم <code>increment</code> مرات متعددة على متغير بالاسم نفسه. لاحظ أن الوسم <code>increment</code> لا يؤثر على قيمة المتغير "var" الذي أُنشِئ باستخدام الوسم <code>assign</code>.
سننشئ في المثال التالي متغيرًا بالاسم "var" باستخدام الوسم <code>assign</code>، ثم سنستخدم الوسم <code>increment</code> مرات متعددة على متغير بالاسم نفسه. لاحظ أن الوسم <code>increment</code> لا يؤثر على قيمة المتغير "var" الذي أُنشِئ باستخدام الوسم <code>assign</code>.<syntaxhighlight lang="liquid">
{| class="wikitable"
!الدخل
!الخرج
|-
|<syntaxhighlight lang="liquid">
{% assign var = 10 %}
{% assign var = 10 %}
{% increment var %}
{% increment var %}
سطر 93: سطر 51:
{% increment var %}
{% increment var %}
{{ var }}
{{ var }}
</syntaxhighlight>الخرج:<syntaxhighlight lang="liquid">
0
1
2
10
</syntaxhighlight>
</syntaxhighlight>
| <code>0</code>


<code>1</code>
== <code>decrement</code> ==
 
ينشئ ويخرج متغيرًا عدديًا جديدًا بقيمة أولية ‎<code>-1</code>، حيث ينقص في الاستدعاءات اللاحقة من قيمته بمقدار واحد ويعطي القيمة الجديدة.<syntaxhighlight lang="liquid">
<code>2</code>
 
<code>10</code>
|}
=== decrement ===
ينشئ ويخرج متغيرًا عدديًا جديدًا بقيمة أولية ‎<code>-1</code>، حيث ينقص في الاستدعاءات اللاحقة من قيمته بمقدار واحد ويعطي القيمة الجديدة.
{| class="wikitable"
!الدخل
!الخرج
|-
|<syntaxhighlight lang="liquid">
{% decrement variable %}
{% decrement variable %}
{% decrement variable %}
{% decrement variable %}
{% decrement variable %}
{% decrement variable %}
</syntaxhighlight>
</syntaxhighlight>الخرج:<syntaxhighlight lang="liquid">
|<syntaxhighlight lang="liquid">
-1
-1
-2
-2
-3
-3
</syntaxhighlight>
</syntaxhighlight>المتغيرات المُصرَّح عنها باستخدام الوسم <code>decrement</code> مستقلةٌ عن المتغيرات المُنشَأة باستخدام الوسمين <code>assign</code> أو <code>capture</code>.
|}
المتغيرات المُصرَّح عنها باستخدام الوسم <code>decrement</code> مستقلةٌ عن المتغيرات المُنشَأة باستخدام الوسمين <code>assign</code> أو <code>capture</code>.


== مصادر ==
== مصادر ==


* [https://shopify.github.io/liquid/tags/variable/ صفحة Variable في توثيق Liquid الرسمي.]
* [https://shopify.github.io/liquid/tags/variable/ صفحة Variable في توثيق Liquid الرسمي.]
[[تصنيف:Liquid]]

مراجعة 13:16، 5 أغسطس 2021

تنشئ الوسوم الخاصة بالمتغيرات متغيرات Liquid جديدة.

assign

ينشئ هذا الوسم متغيرًا جديدًا له اسم.

{% assign my_variable = false %}
{% if my_variable != true %}
  This statement is valid.
{% endif %}

الخرج:

This statement is valid.

غلّف القيمة بعلامة الاقتباس " لحفظها كمتغير من النوع سلسلة نصية string.

{% assign foo = "bar" %}
{{ foo }}

الخرج:

bar

capture

يلتقط هذا الوسم السلسلة النصية الموجودة بين وسوم الفتح والإغلاق ويسندها لمتغير. تُخزَّن المتغيرات المُنشَأة باستخدام الوسم capture كسلاسل نصية.

{% capture my_variable %}I am being captured.{% endcapture %}
{{ my_variable }}

الخرج:

I am being captured.

يمكنك باستخدام الوسم capture إنشاء سلاسل نصية معقدة عن طريق استخدام متغيرات أخرى منشَأة باستخدام الوسم assign.

{% assign favorite_food = "pizza" %}
{% assign age = 35 %}

{% capture about_me %}
I am {{ age }} and my favorite food is {{ favorite_food }}.
{% endcapture %}

{{ about_me }}

الخرج:

I am 35 and my favourite food is pizza.

increment

ينشئ ويخرج متغيرًا عدديًا جديدًا بقيمة أولية 0، حيث يزيد في الاستدعاءات اللاحقة من قيمته بمقدار واحد ويعطي القيمة الجديدة.

{% increment my_counter %}
{% increment my_counter %}
{% increment my_counter %}

الخرج:

0
1
2

المتغيرات المُنشَأة باستخدام الوسم increment مستقلةٌ عن المتغيرات المُنشَأة باستخدام الوسمين assign أو capture. سننشئ في المثال التالي متغيرًا بالاسم "var" باستخدام الوسم assign، ثم سنستخدم الوسم increment مرات متعددة على متغير بالاسم نفسه. لاحظ أن الوسم increment لا يؤثر على قيمة المتغير "var" الذي أُنشِئ باستخدام الوسم assign.

{% assign var = 10 %}
{% increment var %}
{% increment var %}
{% increment var %}
{{ var }}

الخرج:

0
1
2
10

decrement

ينشئ ويخرج متغيرًا عدديًا جديدًا بقيمة أولية ‎-1، حيث ينقص في الاستدعاءات اللاحقة من قيمته بمقدار واحد ويعطي القيمة الجديدة.

{% decrement variable %}
{% decrement variable %}
{% decrement variable %}

الخرج:

-1
-2
-3

المتغيرات المُصرَّح عنها باستخدام الوسم decrement مستقلةٌ عن المتغيرات المُنشَأة باستخدام الوسمين assign أو capture.

مصادر