الفرق بين المراجعتين لصفحة: «Ruby/String/5B-5D-3D»
جميل-بيلوني (نقاش | مساهمات) إنشاء الصفحة. هذه الصفحة من مساهمات "كريم حبال". |
جميل-بيلوني (نقاش | مساهمات) إضافة المحتوى |
||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Operator]] | [[تصنيف: Ruby Operator]] | ||
[[تصنيف: Ruby String]] | [[تصنيف: Ruby String]] | ||
يبدِّل المعامل <code>[]</code> عند استدعائه بالشكل <code>[]=</code> سلسلةً نصيةً محدَّدةً مكان جزءٍ محدَّد أو كامل محتوى سلسلة نصية أخرى. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">str[integer] = new_str | <syntaxhighlight lang="ruby">str[integer] = new_str | ||
سطر 11: | سطر 11: | ||
str[regexp, integer] = new_str | str[regexp, integer] = new_str | ||
str[regexp, name] = new_str | str[regexp, name] = new_str | ||
str[other_str] = new_str</syntaxhighlight> | str[other_str] = new_str</syntaxhighlight>يحدَّد الجزء المراد تبديله من السلسلة النصية <code>str</code> بالطريقة نفسها المذكورة في المعامل [[Ruby/String/5B-5D|<code>[]</code>]]. إن كان طول السلسلة النصية المعطاة لا يطابق طول السلسلة النصية (أو الجزء المحدّد) المراد تبديله، فستُعدَّل السلسلة النصية المعطاة تلك وفقًا لذلك. إن كان [[Ruby/Regexp|التعبير النمطي]] أو السلسلة النصية المستعملة كفهرس لا يطابق موضعًا في السلسلة النصية <code>str</code> المراد تطبيق العملية عليها، فسيُرمَى الخطأ <code>[[Ruby/IndexError|IndexError]]</code>. إن استُعمَل التعبير النمطي <code>regexp</code>، فالمعامل <code>integer</code> الاختياري الثاني يسمح لك بتحديد أي [[Ruby/MatchData|جزء متطابق]] تريد استبداله (عبر استعمال قواعد فهرسة الكائن <code>[[Ruby/MatchData|MatchData]]</code> بفعالية). | ||
سيرمي الشكل الذي يأخذ التعبير النمطي <code>regexp</code> مع المعامل <code>integer</code> الخطأ <code>[[Ruby/IndexError|IndexError]]</code> إن كانت القيمة المُحدَّدة (الجزء المتطابق) تقع خارج النطاق. سيرمي الشكل الذي يأخذ المجال <code>range</code> الخطا <code>[[Ruby/RangeError|RangeError]]</code> وسيرمي الشكل الذي يأخذ التعبير النمطي <code>regexp</code> والسلسلة النصية <code>name</code> الخطأ <code>[[Ruby/IndexError|IndexError]]</code> في حالة التطابق السلبي (negative match). | |||
==انظر | == المعاملات == | ||
=== <code>integer</code> === | |||
[[Ruby/Integer|عدد صحيح]] يمثل فهرس بداية المحارف المراد استبدالها من السلسلة المُستدعاة. | |||
=== <code>integer</code> === | |||
[[Ruby/Integer|عدد صحيح]] يمثل طول السلسلة المراد استبدالها من السلسلة المُستدعاة. | |||
=== <code>range</code> === | |||
[[Ruby/Range|مجال]] يحدد فهرس البداية وفهرس النهاية لسلسلة المحارف المراد استبدالها من السلسلة المُستدعاة. | |||
=== <code>regexp</code> === | |||
[[Ruby/Regexp|تعبير نمطي]] يمثل المحارف المراد مطابقتها واستبدالها من السلسلة المُستدعاة. | |||
=== <code>integer</code> === | |||
فهرس [[Ruby/MatchData|المجموعة الملتقطة]] في التعبير النمطي <code>regexp</code> المُراد استبدالها فقط. | |||
=== <code>name</code> === | |||
اسم <nowiki/>[[Ruby/MatchData|المجموعة الملتقطة]] في التعبير النمطي <code>regexp</code> المُراد استبدالها فقط. | |||
=== <code>other_str</code> === | |||
[[Ruby/String|السلسلة]] المراد استبدالها من السلسلة المُستدعاة. | |||
==انظر أيضًا== | |||
* المعامل <code>[[Ruby/String/5B-5D|[]]]</code>: يجلب محرفًا ذا فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من السلسلة النصية التي استدعيت معه. | |||
* المعامل <code>[[Ruby/String/3D~|=~]]</code>: يطابق التعبير النمطي المُعطى مع سلسلة نصية. | |||
* المعامل <code>[[Ruby/String/25|%]]</code>: يطبِّق السلسلة النصية الواقعة على يساره التي تعد سلسلة تنسيق معيارية على الكائن المعطى الواقع على يمينه ثم يعيد الناتج. | |||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/String.html#method-i-5B-5D-3D قسم | *[http://ruby-doc.org/core-2.5.1/String.html#method-i-5B-5D-3D <nowiki>قسم المعامل[]= في الصنف String في توثيق روبي الرسمي.</nowiki>] |
المراجعة الحالية بتاريخ 19:34، 30 يناير 2019
يبدِّل المعامل []
عند استدعائه بالشكل []=
سلسلةً نصيةً محدَّدةً مكان جزءٍ محدَّد أو كامل محتوى سلسلة نصية أخرى.
البنية العامة
str[integer] = new_str
str[integer, integer] = new_str
str[range] = aString
str[regexp] = new_str
str[regexp, integer] = new_str
str[regexp, name] = new_str
str[other_str] = new_str
يحدَّد الجزء المراد تبديله من السلسلة النصية str
بالطريقة نفسها المذكورة في المعامل []
. إن كان طول السلسلة النصية المعطاة لا يطابق طول السلسلة النصية (أو الجزء المحدّد) المراد تبديله، فستُعدَّل السلسلة النصية المعطاة تلك وفقًا لذلك. إن كان التعبير النمطي أو السلسلة النصية المستعملة كفهرس لا يطابق موضعًا في السلسلة النصية str
المراد تطبيق العملية عليها، فسيُرمَى الخطأ IndexError
. إن استُعمَل التعبير النمطي regexp
، فالمعامل integer
الاختياري الثاني يسمح لك بتحديد أي جزء متطابق تريد استبداله (عبر استعمال قواعد فهرسة الكائن MatchData
بفعالية).
سيرمي الشكل الذي يأخذ التعبير النمطي regexp
مع المعامل integer
الخطأ IndexError
إن كانت القيمة المُحدَّدة (الجزء المتطابق) تقع خارج النطاق. سيرمي الشكل الذي يأخذ المجال range
الخطا RangeError
وسيرمي الشكل الذي يأخذ التعبير النمطي regexp
والسلسلة النصية name
الخطأ IndexError
في حالة التطابق السلبي (negative match).
المعاملات
integer
عدد صحيح يمثل فهرس بداية المحارف المراد استبدالها من السلسلة المُستدعاة.
integer
عدد صحيح يمثل طول السلسلة المراد استبدالها من السلسلة المُستدعاة.
range
مجال يحدد فهرس البداية وفهرس النهاية لسلسلة المحارف المراد استبدالها من السلسلة المُستدعاة.
regexp
تعبير نمطي يمثل المحارف المراد مطابقتها واستبدالها من السلسلة المُستدعاة.
integer
فهرس المجموعة الملتقطة في التعبير النمطي regexp
المُراد استبدالها فقط.
name
اسم المجموعة الملتقطة في التعبير النمطي regexp
المُراد استبدالها فقط.
other_str
السلسلة المراد استبدالها من السلسلة المُستدعاة.
انظر أيضًا
- المعامل
[]
: يجلب محرفًا ذا فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من السلسلة النصية التي استدعيت معه. - المعامل
=~
: يطابق التعبير النمطي المُعطى مع سلسلة نصية. - المعامل
%
: يطبِّق السلسلة النصية الواقعة على يساره التي تعد سلسلة تنسيق معيارية على الكائن المعطى الواقع على يمينه ثم يعيد الناتج.