الفرق بين المراجعتين لصفحة: «Sass/comparable»
لا ملخص تعديل |
ط استبدال النص - 'توثيق Sass الرسمي.]' ب'توثيق Sass الرسمي].' |
||
(6 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الدالة <code>()comparable</code> في Sass}}</noinclude> | <noinclude>{{DISPLAYTITLE: الدالة <code>()comparable</code> في Sass}}</noinclude> | ||
تتحقَّق الدالة <code>comparable()</code> ما إذا كان بالإمكان جمع أو طرح أو موازنة العددين الممرَّرين إليها. | |||
== البنية العامة == | == البنية العامة == | ||
سطر 16: | سطر 16: | ||
== القيم المعادة == | == القيم المعادة == | ||
تُعاد القيمة المنطقيَّة <code>TRUE</code> إن كان بالإمكان جمع أو طرح أو موازنة العددين <code>$number2</code> و <code>$number1</code>. خلا ذلك، تعاد القيمة <code>FALSE</code>. | |||
== الأخطاء والاستثناءات == | == الأخطاء والاستثناءات == | ||
سيُرمى الخطأ <code>ArgumentError</code> إذا | سيُرمى الخطأ <code>ArgumentError</code> إذا كان أحد المعاملين السابقين من النوع الخطأ. | ||
== أمثلة == | == أمثلة == | ||
أمثلة عن استخدام الدالة <code>comparable()</code> على أعداد لها مختلف [[CSS/length|الوحدات]]:<syntaxhighlight lang="sass"> | |||
comparable(2px, 1px) // true | comparable(2px, 1px) // true | ||
comparable(100px, 3em) // false | comparable(100px, 3em) // false | ||
comparable(10cm, 3mm) // true | comparable(10cm, 3mm) // true | ||
</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"> | |||
// دالة لجمع قيمتين إن كانتا قابلتين للجمع | |||
// أو استخدام قيمة افتراضية بدلًا من ذلك | |||
@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/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/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.