الفرق بين المراجعتين ل"Sass/comparable"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>()comparable</code> في Sass}}</noinclude> تعيد الدالة <code>comparable()‎</code> الوحدة (الوحدات...')
 
ط (استبدال النص - 'توثيق Sass الرسمي.]' ب'توثيق Sass الرسمي].')
 
(7 مراجعات متوسطة بواسطة 3 مستخدمين غير معروضة)
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE: الدالة <code>()comparable</code> في Sass}}</noinclude>
 
<noinclude>{{DISPLAYTITLE: الدالة <code>()comparable</code> في Sass}}</noinclude>
تعيد الدالة <code>comparable()‎</code> الوحدة (الوحدات) المرتبطة بعدد معين. تُرتّب الوحدات المعقدة بالترتيب الأبجدي بحسب البسط والمقام.
+
تتحقَّق الدالة <code>comparable()‎</code> ما إذا كان بالإمكان جمع أو طرح أو موازنة العددين الممرَّرين إليها.
  
 
== البنية العامة ==
 
== البنية العامة ==
 
<syntaxhighlight lang="sass">
 
<syntaxhighlight lang="sass">
comparable($number)
+
comparable($number1, $number2)
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
== المعاملات ==
 
== المعاملات ==
  
=== <code>‎$number</code> ===
+
=== <code>‎$number1</code> ===
العدد الذي ستُعاد وحدته.
+
العدد الأول.
 +
 
 +
=== <code>‎$number2</code> ===
 +
العدد الثاني.
  
 
== القيم المعادة ==
 
== القيم المعادة ==
سلسلة نصية غير  مقتبسة تحتوي الوحدة
+
تُعاد القيمة المنطقيَّة <code>TRUE</code> إن كان بالإمكان جمع أو طرح أو موازنة العددين <code>‎$number2</code> و <code>‎$number1</code>. خلا ذلك، تعاد القيمة <code>FALSE</code>.
  
 
== الأخطاء والاستثناءات ==
 
== الأخطاء والاستثناءات ==
سيُرمى الخطأ <code>ArgumentError</code> إذا لم يكن <code>‎$number</code> عددًا.
+
سيُرمى الخطأ <code>ArgumentError</code> إذا كان أحد المعاملين السابقين من النوع الخطأ.
  
 
==  أمثلة ==
 
==  أمثلة ==
مثال عن استخدام الدالة <code>comparable()‎</code>:<syntaxhighlight lang="sass">
+
أمثلة عن استخدام الدالة <code>comparable()‎</code> على أعداد لها مختلف [[CSS/length|الوحدات]]:<syntaxhighlight lang="sass">
unit(100) // ""
+
comparable(2px, 1px) // true
unit(100px) // "px"
+
comparable(100px, 3em) // false
unit(3em) // "em"
+
comparable(10cm, 3mm) // true
unit(10px * 5em) // "em*px"
+
</syntaxhighlight>تذكّر أنَّ Sass لا تسمح [[Sass/SassScript#.D8.A7.D9.84.D8.B9.D9.85.D9.84.D9.8A.D8.A7.D8.AA .D8.B9.D9.84.D9.89 .D8.A7.D9.84.D8.A3.D8.B9.D8.AF.D8.A7.D8.AF|بجمع الأعداد]] التي لا تكون وحداتها متوافقة مع بعضها وسيظهر خطأ عند محاولة فعل ذلك، ويمكن توظيف الدالة <code>comparable()‎</code> لإنشاء [[Sass/function directives|دالة]] تسمح بجمع الأعداد التي من وحدات متوافقة، واستخدام قيمة افتراضية في حال لم تكن تلك الأعداد من وحدات متوافقة. وبهذا سنتفادى إظهار رسالة خطأ إلى المستخدم. لاحظ طريقة استخدام التعليمة ‎<code>[[Sass/control directives#.E2.80.8E.40if|@if]]</code>:<syntaxhighlight lang="sass">
unit(10px * 5em / 30cm / 1rem) // "em*px/cm*rem"
+
// دالة لجمع قيمتين إن كانتا قابلتين للجمع
 +
// أو استخدام قيمة افتراضية بدلًا من ذلك
 +
@function add-if-comparable($arg1, $arg2, $default: null) {
 +
  $output: null;
 +
  @if comparable($arg1, $arg2) == true {
 +
    $output: $arg1 + $arg2;
 +
  } @else {
 +
    $output: $default;
 +
  }
 +
  @return $output;
 +
}
 +
 
 +
 
 +
.selector {
 +
  font-size: add-if-comparable(1em, 0.5rem, 1.5em); // لا يمكن جمع القيمين، وستستعمل القيمة الافتراضية
 +
  padding: add-if-comparable(1cm, 5mm); // يمكن جمع القيمتين
 +
}
 +
 
 +
</syntaxhighlight>ستُصرَّف شيفرة Sass السابقة إلى شيفرة CSS الآتية:<syntaxhighlight lang="css">
 +
.selector {
 +
  font-size: 1.5em;
 +
  padding: 1.5cm; }
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
== انظر أيضًا ==
 
== انظر أيضًا ==
* الدالة <code>[[Sass/type of|type_of()]]</code>‎: تعيد نوع قيمة معينة.
+
* الدالة <code>[[Sass/type of|type_of()]]</code>‎: تعيد نوع القيمة الممرَّرة إليها.
* الدالة <code>[[Sass/inspect|inspect()]]</code>‎: تعيد سلسلة نصّية تحتوي قيمة تمثيلها في <code>[[Sass]]</code>.
+
* الدالة <code>[[Sass/inspect|inspect()]]</code>‎: تعيد سلسلة نصّيَّة تحوي قيمة تمثيلها في <nowiki/>[[Sass]].
* الدالة <code>[[Sass/global variable exists|global_variable_exists()]]</code>‎: تحدد ما إذا كان متغير ما موجود في النطاق العام.
+
* الدالة <code>[[Sass/global variable exists|global_variable_exists()]]</code>‎: تتحقَّق ما إذا كان متغير ما موجود في النطاق العام.
* الدالة <code>[[Sass/feature exists|feature_exists()]]</code>‎: تحدد ما إذا كانت ميزة معينةٌ موجودةٌ في وقت تشغيل <code>[[Sass]]</code>.
+
* الدالة <code>[[Sass/feature exists|feature_exists()]]</code>‎: تتحقَّق ما إذا كانت ميزة معينةٌ موجودةٌ في وقت تشغيل <nowiki/>Sass.
  
 
== مصادر ==
 
== مصادر ==
* [https://sass-lang.com/documentation/Sass/Script/Functions.html#comparable-instance_method قسم الدالة comparable في صفحة الدوال في توثيق Sass الرسمي.]
+
* [https://sass-lang.com/documentation/Sass/Script/Functions.html#comparable-instance_method قسم الدالة comparable في صفحة الدوال في توثيق Sass الرسمي].
[[تصنيف:Sass]]
+
[[تصنيف:Sass|{{SUBPAGENAME}}]]
[[تصنيف: Sass Function]]
+
[[تصنيف: Sass Function|{{SUBPAGENAME}}]]

المراجعة الحالية بتاريخ 07:00، 20 مايو 2018

تتحقَّق الدالة comparable()‎ ما إذا كان بالإمكان جمع أو طرح أو موازنة العددين الممرَّرين إليها.

البنية العامة

comparable($number1, $number2)

المعاملات

‎$number1

العدد الأول.

‎$number2

العدد الثاني.

القيم المعادة

تُعاد القيمة المنطقيَّة TRUE إن كان بالإمكان جمع أو طرح أو موازنة العددين ‎$number2 و ‎$number1. خلا ذلك، تعاد القيمة FALSE.

الأخطاء والاستثناءات

سيُرمى الخطأ ArgumentError إذا كان أحد المعاملين السابقين من النوع الخطأ.

أمثلة

أمثلة عن استخدام الدالة comparable()‎ على أعداد لها مختلف الوحدات:

comparable(2px, 1px) // true
comparable(100px, 3em) // false
comparable(10cm, 3mm) // true

تذكّر أنَّ Sass لا تسمح بجمع الأعداد التي لا تكون وحداتها متوافقة مع بعضها وسيظهر خطأ عند محاولة فعل ذلك، ويمكن توظيف الدالة comparable()‎ لإنشاء دالة تسمح بجمع الأعداد التي من وحدات متوافقة، واستخدام قيمة افتراضية في حال لم تكن تلك الأعداد من وحدات متوافقة. وبهذا سنتفادى إظهار رسالة خطأ إلى المستخدم. لاحظ طريقة استخدام التعليمة ‎@if:

// دالة لجمع قيمتين إن كانتا قابلتين للجمع
// أو استخدام قيمة افتراضية بدلًا من ذلك
@function add-if-comparable($arg1, $arg2, $default: null) {
  $output: null;
  @if comparable($arg1, $arg2) == true {
    $output: $arg1 + $arg2;
  } @else {
    $output: $default;
  }
  @return $output;
}


.selector {
  font-size: add-if-comparable(1em, 0.5rem, 1.5em); // لا يمكن جمع القيمين، وستستعمل القيمة الافتراضية
  padding: add-if-comparable(1cm, 5mm); // يمكن جمع القيمتين
}

ستُصرَّف شيفرة Sass السابقة إلى شيفرة CSS الآتية:

.selector {
  font-size: 1.5em;
  padding: 1.5cm; }

انظر أيضًا

  • الدالة type_of()‎: تعيد نوع القيمة الممرَّرة إليها.
  • الدالة inspect()‎: تعيد سلسلة نصّيَّة تحوي قيمة تمثيلها في Sass.
  • الدالة global_variable_exists()‎: تتحقَّق ما إذا كان متغير ما موجود في النطاق العام.
  • الدالة feature_exists()‎: تتحقَّق ما إذا كانت ميزة معينةٌ موجودةٌ في وقت تشغيل Sass.

مصادر