الفرق بين المراجعتين لصفحة: «Sass/str slice»

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>()str_slice</code> في Sass}}</noinclude> تُدرج الدالة <code>str_slice'''()‎'''</code> '''سلسلةً نصي...'
 
ط استبدال النص - 'توثيق Sass الرسمي.]' ب'توثيق Sass الرسمي].'
 
(10 مراجعات متوسطة بواسطة 3 مستخدمين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>()str_slice</code> في Sass}}</noinclude>
<noinclude>{{DISPLAYTITLE: الدالة <code>()str_slice</code> في Sass}}</noinclude>
تُدرج الدالة <code>str_slice'''()‎'''</code> '''سلسلةً نصيةً داخل أخرى.'''
تعيد الدالة <code>str_slice()‎</code> جزءًا من السلسلة النصيَّة الممرَّرة إليها والذي يبدأ وينتهي عند موضع محدَّد.


لاحظ أنه على عكس بعض اللغات، فإنّ رقم الحرف الأول هو <code>1</code>، والثاني رقمه <code>2</code>، وهكذا.
لاحظ أن رقم ترتيب العنصر الأول في <nowiki/>[[Sass]] هو 1، والعنصر الثاني هو 2، وهكذا على عكس بعض اللغات.
== البنية العامة ==
== البنية العامة ==
<syntaxhighlight lang="sass">
<syntaxhighlight lang="sass">
str_slice($string, $insert, $index)
str_slice($string, $start-at, $end-at: -1)
</syntaxhighlight>
</syntaxhighlight>


== المعاملات ==
== المعاملات ==


=== <code>‎$string </code> ===
=== <code>‎$string</code>  ===
سلسلة نصّية.
السلسلة النصّيَّة المراد استخراج سلسلة نصيَّة فرعيَّة منها.


=== <code>‎$insert</code> ===
=== <code>‎$start-at</code> ===
السلسلة النصّية المراد إدماجُها.
موضع الحرف الأول من السلسلة النصيَّة الفرعيَّة المراد الحصول عليها. إذا كانت قيمة هذا المعامل سالبة، فسيحسب موضع بداية تلك السلسلة بدءًا من نهاية السلسلة النصيَّة <code>‎‎$string</code>.


=== <code>‎$index</code> ===
=== <code>‎$end-at</code> ===
الموضع الذي ستُدرج فيه السلسلة <code>$insert</code>. تُحتسب المؤشرات السلبية من نهاية <code>‎‎$string</code>. إن كان المؤشر خارج حدود السلسلة النصية فستُدرج <code>$insert</code> في بداية السلسة أو نهايتها.
موضع الحرف الأخير من السلسلة النصيَّة الفرعيَّة المراد الحصول عليها. إذا كانت قيمة هذا المعامل سالبة، فسيحسب موضع نهاية تلك السلسلة بدءًا من نهاية السلسلة النصيَّة <code>‎‎$string</code>. القيمة الافتراضية لهذا المعامل هي ‎<code>-1</code> أي ستكون نهاية السلسلة المعادة هي نهاية السلسلة <code>‎‎$string</code>.


== القيم المعادة ==
== القيم المعادة ==
السلسلة النصية الناتجة ستكون مُقتبسة إذا وفقط إذا كانت <code>‎‎$string</code> غير مُقتبسة.
يُعاد جزء من السلسلة النصية <code>‎$string</code> الذي يبدأ عند الموقع <code>‎$start-at</code> وينتهي عند الموقع <code>‎$end-at</code>. ستكون السلسلة النصية المُعادة مُقتبسة إذا كانت السلسلة <code>‎‎$string</code> مُقتبسة فقط.


== الأخطاء والاستثناءات ==
== الأخطاء والاستثناءات ==
سيُرمى الخطأ <code>ArgumentError</code> إن كان أيّ من المعاملات من النوع الخطأ.
سيُرمى الخطأ <code>ArgumentError</code> إن كان أيٌّ من المعاملات من النوع الخطأ.


== أمثلة ==
== أمثلة ==
مثال عن استخدام الدالة <code>str-insert()‎</code>  لضبط قيمة لون الخلفية ([[CSS/background-color|background-color]]):<syntaxhighlight lang="sass">
أمثلة نموذجية عن الدالة <code>str_slice()‎</code>:<syntaxhighlight lang="sass">
selector {
str_slice("abcd", 2, 3);  // "bc"
   background-color: ‎str-insert(ed, "r", 1) => red
str_slice("abcd", 2);      // "bcd"
str_slice("abcd", -3, -2); // "bc"
str_slice("abcd", 2, -2);  // "bc"
 
</syntaxhighlight>مثال عن استخدام الدالة <code>str_slice()‎</code> لضبط قيمة الخاصِّيَّة <code>[[CSS/content|content]]</code> مع العنصر الزائف ‎<code>[[CSS/::before|::before]]</code>:<syntaxhighlight lang="sass">
.selector::before {
   content: str_slice("a'b", 2, 2) // "'"
}
}
</syntaxhighlight>سيُصرّف المثال السابق إلى شيفرة <nowiki/>[[CSS]] الآتية:<syntaxhighlight lang="css">
</syntaxhighlight>سيُصرّف المثال السابق إلى شيفرة <nowiki/>[[CSS]] الآتية:<syntaxhighlight lang="css">
selector {
.selector::before {
   background-color: red;
   content: "'"; }
}
</syntaxhighlight>
</syntaxhighlight>


== انظر أيضًا ==
== انظر أيضًا ==
* الدالة <code>[[Sass/str index|'''str_index'''()]]</code>‎: تُدرج سلسة نصية في أخرى.
* الدالة <code>[[Sass/str index|str_index()]]</code>‎: تعيد موقع أول ظهور لسلسلة نصيَّة محدَّدة داخل السلسلة النصيَّة المعطاة.
 
* الدالة <code>[[Sass/str length|str_length()]]</code>‎: تعيد عدد أحرف السلسلة النصيَّة الممرَّرة إليها.
* الدالة <code>[[Sass/str-length|str-length()]]</code>‎: تُعيد عدد احرف سلسلةنصية.
* الدالة <code>[[Sass/str insert|str_insert()]]</code>‎: تدرج سلسلةً نصيةً داخل أخرى عند موضع محدَّد.


== مصادر ==
== مصادر ==
* [https://sass-lang.com/documentation/Sass/Script/Functions.html#str_insert-instance_method قسم الدالة  في صفحة الدوال في توثيق Sass الرسمي.]
* [https://sass-lang.com/documentation/Sass/Script/Functions.html#str_slice-instance_method قسم الدالة str_slice في صفحة الدوال في توثيق Sass الرسمي].
[[تصنيف:Sass]]
[[تصنيف:Sass|{{SUBPAGENAME}}]]
[[تصنيف: Sass Function]]
[[تصنيف: Sass Function|{{SUBPAGENAME}}]]

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

تعيد الدالة str_slice()‎ جزءًا من السلسلة النصيَّة الممرَّرة إليها والذي يبدأ وينتهي عند موضع محدَّد.

لاحظ أن رقم ترتيب العنصر الأول في Sass هو 1، والعنصر الثاني هو 2، وهكذا على عكس بعض اللغات.

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

str_slice($string, $start-at, $end-at: -1)

المعاملات

‎$string 

السلسلة النصّيَّة المراد استخراج سلسلة نصيَّة فرعيَّة منها.

‎$start-at

موضع الحرف الأول من السلسلة النصيَّة الفرعيَّة المراد الحصول عليها. إذا كانت قيمة هذا المعامل سالبة، فسيحسب موضع بداية تلك السلسلة بدءًا من نهاية السلسلة النصيَّة ‎‎$string.

‎$end-at

موضع الحرف الأخير من السلسلة النصيَّة الفرعيَّة المراد الحصول عليها. إذا كانت قيمة هذا المعامل سالبة، فسيحسب موضع نهاية تلك السلسلة بدءًا من نهاية السلسلة النصيَّة ‎‎$string. القيمة الافتراضية لهذا المعامل هي ‎-1 أي ستكون نهاية السلسلة المعادة هي نهاية السلسلة ‎‎$string.

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

يُعاد جزء من السلسلة النصية ‎$string الذي يبدأ عند الموقع ‎$start-at وينتهي عند الموقع ‎$end-at. ستكون السلسلة النصية المُعادة مُقتبسة إذا كانت السلسلة ‎‎$string مُقتبسة فقط.

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

سيُرمى الخطأ ArgumentError إن كان أيٌّ من المعاملات من النوع الخطأ.

أمثلة

أمثلة نموذجية عن الدالة str_slice()‎:

str_slice("abcd", 2, 3);   // "bc"
str_slice("abcd", 2);      // "bcd"
str_slice("abcd", -3, -2); // "bc"
str_slice("abcd", 2, -2);  // "bc"

مثال عن استخدام الدالة str_slice()‎ لضبط قيمة الخاصِّيَّة content مع العنصر الزائف ‎::before:

.selector::before {
  content: str_slice("a'b", 2, 2) // "'"
}

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

.selector::before {
  content: "'"; }

انظر أيضًا

  • الدالة str_index()‎: تعيد موقع أول ظهور لسلسلة نصيَّة محدَّدة داخل السلسلة النصيَّة المعطاة.
  • الدالة str_length()‎: تعيد عدد أحرف السلسلة النصيَّة الممرَّرة إليها.
  • الدالة str_insert()‎: تدرج سلسلةً نصيةً داخل أخرى عند موضع محدَّد.

مصادر