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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>()feature_exists</code> في Sass}}</noinclude> تعيد الدالة <code>feature_exists()‎</code> محدّدًا جد...')
 
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE: الدالة <code>()feature_exists</code> في Sass}}</noinclude>
 
<noinclude>{{DISPLAYTITLE: الدالة <code>()feature_exists</code> في Sass}}</noinclude>
تعيد الدالة <code>feature_exists()‎</code> محدّدًا جديدًا مع تشعيب جميع المحددات الموجودة في <code>‎$selectors</code>  في بعضها البعض كما لو كانت متشعّبة في ملف الأنماط هكذا ‎<code><nowiki>$selector1 {$selector2 {...}}</nowiki></code>.
+
تحدّد الدالة <code>feature_exists()‎</code>  ما إذا كانت ميزة معينةٌ موجودةٌ في وقت تشغيل <code>[[Sass]]</code>.
  
على عكس معظم دوال المحددات ، فإن الدالة <code>selector_nest()‎</code> تسمح باستخدام المُحدّد الأبوي <code>[[Sass/SassScript#.D8.A7.D9.84.D8.B1.D9.85.D8.B2 .26 .D9.81.D9.8A SassScript|&]]</code> في أي مُحدد ما عدا الأول.
+
الميزات التالية مدعومة:
 +
* <code>global-variable-shadowing</code>: تشير إلى أنّ متغيرًا محليًا سيحجب متغيراً عامًّا ما لم تُستخدم <code>‎!global</code>.
 +
 
 +
* <code>extend-selector-pseudoclass</code>: تشير إلى أنّ ‎<code>@extend</code> ستصل إلى أشباه الأصناف (pseudoclasses) مثل <code>:not</code>.
 +
 
 +
* <code>units-level-3</code>: تشير إلى الدعم الكامل لحسابيات الوحدات (unit arithmetic) باستخدام الوحدات المُعرّفة في مواصفات [[http://www.w3.org/TR/css3-values القيم والوحدات 3]].
 +
 
 +
* <code>at-error</code>: تشير إلى أنّ المُوجّه ‎<code>@error</code> مدعوم.
 +
 
 +
* <code>custom-property</code>: تشير إلى أن مواصفات [ا[https://www.w3.org/TR/css-variables-1 لخاصيات المُخصّصة المستوى 1]] مدعومة. وهذا يعني أن الخاصيات المُخصّصة تُحلّل بشكل ثابت (parsed statically)، مع معالجة الاستيفاء مثل <code>[[SassScript]]</code>.
  
 
== البنية العامة ==
 
== البنية العامة ==
 
<syntaxhighlight lang="sass">
 
<syntaxhighlight lang="sass">
feature_exists($selectors...)
+
feature_exists($feature)
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
== المعاملات ==
 
== المعاملات ==
  
=== <code>‎$selectors</code> ===
+
=== <code>‎$feature</code> ===
المحددات التي ستُشعّب. يجب أن يُمرّر محدد واحد على الأقل. يمكن أن تكون كل واحدة منها عبارة عن سلسلة نصية أو قائمة من السلاسل النصية أو قائمة من قوائم السلاسل النصية كما تمت إعادتها من قبل <code>[[Sass/SassScript#.D8.A7.D9.84.D8.B1.D9.85.D8.B2 .26 .D9.81.D9.8A SassScript|&]]</code>.
+
اسم الميزة.
  
 
== القيم المعادة ==
 
== القيم المعادة ==
قائمة من قوائم السلاسل النصية التي تمثل نتيجة تشعيب المحددات <code>‎$selectors</code>. وتكون بنفس التنسيق الذي يكون لمحدّد تعيده <code>[[Sass/SassScript#.D8.A7.D9.84.D8.B1.D9.85.D8.B2 .26 .D9.81.D9.8A SassScript|&]]</code>.
+
قيمة منطقية تحدد ما إذا كانت الميزة مدعومة في النسخة الحالية للغة <code>[[Sass]]</code>.
 +
 
 +
== الأخطاء والاستثناءات ==
 +
سيُرمى الخطأ <code>ArgumentError</code> إن لم يكن <code>‎$feature</code>سلسلة نصيةً.
  
== أمثلة ==
+
== أمثلة ==
 
مثال عن استخدام الدالة <code>feature_exists()‎</code>:<syntaxhighlight lang="sass">
 
مثال عن استخدام الدالة <code>feature_exists()‎</code>:<syntaxhighlight lang="sass">
selector-nest(".foo", ".bar", ".baz") // .foo .bar .baz
+
feature-exists(some-feature-that-exists) // true
selector-nest(".a .foo", ".b .bar") // .a .foo .b .bar
+
feature-exists(what-is-this-i-dont-know) // false
selector-nest(".foo", "&.bar") // .foo.bar
 
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
== انظر أيضًا ==
 
== انظر أيضًا ==
* الدالة <code>[[Sass/selector append|selector_append()]]</code>‎: تضيف المحددات إلى بعضها بعضًا دون مسافات بينها.
+
* الدالة <code>[[Sass/function exists|function_exists()]]</code>‎: تحدد ما إذا كانت دالة ما موجودة.
* الدالة <code>[[Sass/selector extend|selector_extend()]]</code>‎: توسّع المحدد.
+
* الدالة <code>[[Sass/global variable exists|global_variable_exists()]]</code>‎: تحدد ما إذا كان متغير ما موجود في النطاق العام.
* الدالة <code>[[Sass/selector unify|selector_unify()]]</code>‎: تُوحّد محددَيْن.
+
* الدالة <code>[[Sass/variable exists|variable_exists()]]</code>‎: تحدد ما إذا كان متغير ما موجود في النطاق الحالي.
 +
* الدالة <code>[[Sass/mixin exists|mixin_exists()]]</code>‎: تحدد ما إذا كان مخلوط ما موجودًا.
  
 
== مصادر ==
 
== مصادر ==

مراجعة 11:30، 22 أبريل 2018

تحدّد الدالة feature_exists()‎ ما إذا كانت ميزة معينةٌ موجودةٌ في وقت تشغيل Sass.

الميزات التالية مدعومة:

  • global-variable-shadowing: تشير إلى أنّ متغيرًا محليًا سيحجب متغيراً عامًّا ما لم تُستخدم ‎!global.
  • extend-selector-pseudoclass: تشير إلى أنّ ‎@extend ستصل إلى أشباه الأصناف (pseudoclasses) مثل ‎:not.
  • units-level-3: تشير إلى الدعم الكامل لحسابيات الوحدات (unit arithmetic) باستخدام الوحدات المُعرّفة في مواصفات [القيم والوحدات 3].
  • at-error: تشير إلى أنّ المُوجّه ‎@error مدعوم.

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

feature_exists($feature)

المعاملات

‎$feature

اسم الميزة.

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

قيمة منطقية تحدد ما إذا كانت الميزة مدعومة في النسخة الحالية للغة Sass.

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

سيُرمى الخطأ ArgumentError إن لم يكن ‎$featureسلسلة نصيةً.

أمثلة

مثال عن استخدام الدالة feature_exists()‎:

feature-exists(some-feature-that-exists) // true
feature-exists(what-is-this-i-dont-know) // false

انظر أيضًا

  • الدالة function_exists()‎: تحدد ما إذا كانت دالة ما موجودة.
  • الدالة global_variable_exists()‎: تحدد ما إذا كان متغير ما موجود في النطاق العام.
  • الدالة variable_exists()‎: تحدد ما إذا كان متغير ما موجود في النطاق الحالي.
  • الدالة mixin_exists()‎: تحدد ما إذا كان مخلوط ما موجودًا.

مصادر