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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>()selector_replace</code> في Sass}}</noinclude> تعيد الدالة <code>selector_replace()‎</code> نسخة جدي...')
 
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE: الدالة <code>()selector_replace</code> في Sass}}</noinclude>
 
<noinclude>{{DISPLAYTITLE: الدالة <code>()selector_replace</code> في Sass}}</noinclude>
تعيد الدالة <code>selector_replace()‎</code> نسخة جديدةً من المحدد <code>‎$selector</code> مع توسعة <code>‎$extendee</code> بواسطة <code>‎$extender</code>. النتيجة تشبه الكود البرمجي التالي:<syntaxhighlight lang="sass">
+
تستبدل الدالة <code>selector_replace()‎</code> كل عيّنات (instances) الوسيط<code>‎$original</code> بواسطة <code>‎$replacement</code> في <code>‎$selector</code>.
$selector { ... }
 
$extender { @extend $extendee }
 
</syntaxhighlight>
 
  
 +
تعمل الدالة عبر استخدام <code>‎$extend</code> وإستبعاد المحدد الأصلي. هذا يعني أنّه يمكن استخدامها للقيام بتعويضات معقدة.
 
== البنية العامة ==
 
== البنية العامة ==
 
<syntaxhighlight lang="sass">
 
<syntaxhighlight lang="sass">
selector_replace($selector, $extendee, $extender)
+
selector_replace($selector, $original, $replacement)
 
</syntaxhighlight>
 
</syntaxhighlight>
  
سطر 13: سطر 11:
  
 
=== <code>‎$selector</code> ===
 
=== <code>‎$selector</code> ===
المحدد الذي سيُوسع داخلَه المحدد <code>‎$extendee</code> بواسطة <code>‎$extender</code>. يمكن أن يكون عبارةً عن سلسلة نصية أو قائمة من السلاسل النصية أو قائمة من قوائم السلاسل النصية كما تُعاد من قبل <code>&</code>.
+
المحدد الذي سيُستبدل داخلَه <code>‎$original</code> بواسطة <code>‎$replacement</code>. يمكن أن يكون عبارةً عن سلسلة نصية أو قائمة من السلاسل النصية أو قائمة من قوائم السلاسل النصية كما تُعاد من قبل <code>&</code>.
  
=== <code>‎$extendee</code> ===
+
=== <code>‎$original</code> ===
المحدد الذي سيُوسع. يمكن أن يكون عبارةً عن سلسلة نصية أو قائمة من السلاسل النصية أو قائمة من قوائم السلاسل النصية كما تُعاد من قبل <code>&</code>.
+
المحدد الذي سيُستبدل. يمكن أن يكون عبارةً عن سلسلة نصية أو قائمة من السلاسل النصية أو قائمة من قوائم السلاسل النصية كما تُعاد من قبل <code>&</code>.
  
=== <code>‎$selector</code> ===
+
=== <code>‎$replacement</code> ===
المحدد الذي سيُسلَك داخلَ المحدد <code>‎$selector</code>.  يمكن أن يكون عبارةً عن سلسلة نصية أو قائمة من السلاسل النصية أو قائمة من قوائم السلاسل النصية كما تُعاد من قبل <code>&</code>.
+
المُحدّد الذي سيُستبدل به <code>‎$original</code>.  يمكن أن يكون عبارةً عن سلسلة نصية أو قائمة من السلاسل النصية أو قائمة من قوائم السلاسل النصية كما تُعاد من قبل <code>&</code>.
  
 
== القيم المعادة ==
 
== القيم المعادة ==
سطر 29: سطر 27:
 
== مثال ==
 
== مثال ==
 
مثال عن استخدام الدالة <code>selector_replace()‎</code>:<syntaxhighlight>
 
مثال عن استخدام الدالة <code>selector_replace()‎</code>:<syntaxhighlight>
selector-extend(".a .b", ".b", ".foo .bar") => .a .b, .a .foo .bar, .foo .a .bar
+
selector-replace(".foo .bar", ".bar", ".baz") => ".foo .baz"
 
+
selector-replace(".foo.bar.baz", ".foo.baz", ".qux") => ".bar.qux"
 
</syntaxhighlight>
 
</syntaxhighlight>
  

مراجعة 18:13، 21 أبريل 2018

تستبدل الدالة selector_replace()‎ كل عيّنات (instances) الوسيط‎$original بواسطة ‎$replacement في ‎$selector.

تعمل الدالة عبر استخدام ‎$extend وإستبعاد المحدد الأصلي. هذا يعني أنّه يمكن استخدامها للقيام بتعويضات معقدة.

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

selector_replace($selector, $original, $replacement)

المعاملات

‎$selector

المحدد الذي سيُستبدل داخلَه ‎$original بواسطة ‎$replacement. يمكن أن يكون عبارةً عن سلسلة نصية أو قائمة من السلاسل النصية أو قائمة من قوائم السلاسل النصية كما تُعاد من قبل &.

‎$original

المحدد الذي سيُستبدل. يمكن أن يكون عبارةً عن سلسلة نصية أو قائمة من السلاسل النصية أو قائمة من قوائم السلاسل النصية كما تُعاد من قبل &.

‎$replacement

المُحدّد الذي سيُستبدل به ‎$original. يمكن أن يكون عبارةً عن سلسلة نصية أو قائمة من السلاسل النصية أو قائمة من قوائم السلاسل النصية كما تُعاد من قبل &.

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

قائمة من قوائم السلاسل النصية التي تمثل نتيجة التوسعة. وتكون بنفس التنسيق الذي يكون لمحدّد تُعيده &.

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

سيُرمى الخطأ ArgumentError إن فشلت التوسعة.

مثال

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

selector-replace(".foo .bar", ".bar", ".baz") => ".foo .baz"
selector-replace(".foo.bar.baz", ".foo.baz", ".qux") => ".bar.qux"

انظر أيضًا

  • الدالة selector_append()‎: تضيف المحددات إلى بعضها بعضًا دون مسافات بينها.
  • الدالة selector_nest()‎: تُشعّب المحددات.
  • الدالة selector_unify()‎: تُوحّد محددَيْن.

مصادر