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

من موسوعة حسوب
أنشأ الصفحة ب'== المعاملات Operators == تتضمن لغة Liquid معاملات منطقية ومعاملات موازنة متعددة. يمكنك استخدام المعا...'
 
ط مراجعة
 
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة)
سطر 1: سطر 1:
== المعاملات Operators ==
<noinclude>{{DISPLAYTITLE: المعاملات Operators في Liquid}}</noinclude>
تتضمن لغة Liquid معاملات منطقية ومعاملات موازنة متعددة. يمكنك استخدام المعاملات لإنشاء منطق مع وسوم تدفق التحكم [[control flow]].
تتضمن لغة Liquid معاملات منطقية ومعاملات موازنة متعددة، ويمكنك استخدام هذه المعاملات لإنشاء منطق مع الوسوم ذات النوع [[Liquid/control-flow|control flow]] (تحكم في تدفق أو خط سير الشيفرة).


=== المعاملات الأساسية ===
== المعاملات الأساسية ==
{| class="wikitable"
{| class="wikitable"
|+
!المعامل
!المعامل
!معناه
!وصفه
|-
|-
|<code>==</code>
|<code>==</code>
سطر 24: سطر 23:
|-
|-
|‎‎<code><=‎</code>
|‎‎<code><=‎</code>
[[تصنيف:Liquid]]
|أصغر أو يساوي
|أصغر أو يساوي
|-
|-
|<code>or</code>
|<code>or</code>
|أو المنطقية
|أو المنطقي
|-
|-
|<code>and</code>
|<code>and</code>
|و المنطقية
|وَ المنطقي
|}
|}
 
إليك المثال التالي:<syntaxhighlight lang="liquid">
==== مثال ====
<syntaxhighlight lang="liquid">
{% if product.title == "Awesome Shoes" %}
{% if product.title == "Awesome Shoes" %}
   These shoes are awesome!
   These shoes are awesome!
{% endif %}
{% endif %}
</syntaxhighlight>يمكنك إجراء موازنات متعددة في وسم باستخدام معاملات <code>and</code> و <code>or</code>:<syntaxhighlight lang="liquid">
</syntaxhighlight>يمكنك إجراء موازنات متعددة في وسم باستخدام المعامل <code>and</code> والمعامل <code>or</code>:<syntaxhighlight lang="liquid">
{% if product.type == "Shirt" or product.type == "Shoes" %}
{% if product.type == "Shirt" or product.type == "Shoes" %}
   This is a shirt or a pair of shoes.
   This is a shirt or a pair of shoes.
سطر 44: سطر 43:
</syntaxhighlight>
</syntaxhighlight>


=== المعامل contains ===
== المعامل contains ==
يتحقّق هذا المعامل من وجود سلسلة فرعية ضمن سلسلة.<syntaxhighlight lang="liquid">
 
يتحقّق هذا المعامل من وجود سلسلة نصية فرعية ضمن سلسلة نصية.<syntaxhighlight lang="liquid">
{% if product.title contains "Pack" %}
{% if product.title contains "Pack" %}
   This product's title contains the word Pack.
   This product's title contains the word Pack.
سطر 55: سطر 55:
</syntaxhighlight>يمكن للمعامل <code>contains</code> البحث عن السلاسل فقط، ولا يمكنك استخدامه للتحقق من وجود كائن في مصفوفة من الكائنات.
</syntaxhighlight>يمكن للمعامل <code>contains</code> البحث عن السلاسل فقط، ولا يمكنك استخدامه للتحقق من وجود كائن في مصفوفة من الكائنات.


=== ترتيب العمليات ===
== ترتيب العمليات ==
يجري التحقق من المعاملات بالترتيب '''من اليمين إلى اليسار''' في الوسوم التي تحتوي على أكثر من معامل <code>and</code>  أو <code>or</code>. لا يمكنك تغيير ترتيب العمليات باستخدام الأقواس parentheses، فالأقواس هي محارف غير صالحة في لغة ليكود وتمنع وسومك من العمل.<syntaxhighlight lang="liquid">
 
يجري التحقق من المعاملات بالترتيب '''من اليمين إلى اليسار''' في الوسوم التي تحتوي على أكثر من معامل <code>and</code>  أو <code>or</code>. لا يمكنك تغيير ترتيب العمليات باستخدام الأقواس parentheses، فالأقواس هي محارف غير صالحة في لغة Liquid وتمنع وسومك من العمل.<syntaxhighlight lang="liquid">
{% if true or false and false %}
{% if true or false and false %}
   This evaluates to true, since the `and` condition is checked first.
   This evaluates to true, since the `and` condition is checked first.
{% endif %}
{% endif %}
</syntaxhighlight><syntaxhighlight lang="liquid">
</syntaxhighlight>إليك مثال آخر:<syntaxhighlight lang="liquid">
{% if true and false and false or true %}
{% if true and false and false or true %}
   This evaluates to false, since the tags are checked like this:
   This evaluates to false, since the tags are checked like this:

المراجعة الحالية بتاريخ 09:59، 5 أغسطس 2021

تتضمن لغة Liquid معاملات منطقية ومعاملات موازنة متعددة، ويمكنك استخدام هذه المعاملات لإنشاء منطق مع الوسوم ذات النوع control flow (تحكم في تدفق أو خط سير الشيفرة).

المعاملات الأساسية

المعامل وصفه
== يساوي
‎‎‎‎!= لا يساوي
< أكبر من
> أصغر من
‎>= أكبر أو يساوي
‎‎<=‎ أصغر أو يساوي
or أو المنطقي
and وَ المنطقي

إليك المثال التالي:

{% if product.title == "Awesome Shoes" %}
  These shoes are awesome!
{% endif %}

يمكنك إجراء موازنات متعددة في وسم باستخدام المعامل and والمعامل or:

{% if product.type == "Shirt" or product.type == "Shoes" %}
  This is a shirt or a pair of shoes.
{% endif %}

المعامل contains

يتحقّق هذا المعامل من وجود سلسلة نصية فرعية ضمن سلسلة نصية.

{% if product.title contains "Pack" %}
  This product's title contains the word Pack.
{% endif %}

يمكنه أيضًا التحقق من وجود سلسلة نصية في مصفوفة من السلاسل.

{% if product.tags contains "Hello" %}
  This product has been tagged with "Hello".
{% endif %}

يمكن للمعامل contains البحث عن السلاسل فقط، ولا يمكنك استخدامه للتحقق من وجود كائن في مصفوفة من الكائنات.

ترتيب العمليات

يجري التحقق من المعاملات بالترتيب من اليمين إلى اليسار في الوسوم التي تحتوي على أكثر من معامل and أو or. لا يمكنك تغيير ترتيب العمليات باستخدام الأقواس parentheses، فالأقواس هي محارف غير صالحة في لغة Liquid وتمنع وسومك من العمل.

{% if true or false and false %}
  This evaluates to true, since the `and` condition is checked first.
{% endif %}

إليك مثال آخر:

{% if true and false and false or true %}
  This evaluates to false, since the tags are checked like this:

  true and (false and (false or true))
  true and (false and true)
  true and false
  false
{% endif %}

مصادر