الفرق بين المراجعتين ل"Liquid/operators"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'== المعاملات Operators == تتضمن لغة Liquid معاملات منطقية ومعاملات موازنة متعددة. يمكنك استخدام المعا...')
 
سطر 1: سطر 1:
 
== المعاملات Operators ==
 
== المعاملات Operators ==
تتضمن لغة Liquid معاملات منطقية ومعاملات موازنة متعددة. يمكنك استخدام المعاملات لإنشاء منطق مع وسوم تدفق التحكم [[control flow]].
+
تتضمن لغة Liquid معاملات منطقية ومعاملات موازنة متعددة. يمكنك استخدام المعاملات لإنشاء منطق مع الوسوم ذات النوع [[Liquid/control-flow|control flow]].
  
 
=== المعاملات الأساسية ===
 
=== المعاملات الأساسية ===
سطر 6: سطر 6:
 
|+
 
|+
 
!المعامل
 
!المعامل
!معناه
+
!وصفه
 
|-
 
|-
 
|<code>==</code>
 
|<code>==</code>
سطر 27: سطر 27:
 
|-
 
|-
 
|<code>or</code>
 
|<code>or</code>
|أو المنطقية
+
|أو المنطقي
 
|-
 
|-
 
|<code>and</code>
 
|<code>and</code>
|و المنطقية
+
|وَ المنطقي
 
|}
 
|}
  
سطر 45: سطر 45:
  
 
=== المعامل 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.
سطر 56: سطر 56:
  
 
=== ترتيب العمليات ===
 
=== ترتيب العمليات ===
يجري التحقق من المعاملات بالترتيب '''من اليمين إلى اليسار''' في الوسوم التي تحتوي على أكثر من معامل <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.

مراجعة 02:27، 4 أغسطس 2021

المعاملات Operators

تتضمن لغة 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 %}

مصادر