التابع String.gsub!‎ في روبي

من موسوعة حسوب
< Ruby‏ | String
مراجعة 19:11، 27 مارس 2019 بواسطة جميل-بيلوني (نقاش | مساهمات) (←‏انظر أيضًا)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يبدل التابع gsub!‎ قيمة (أو قيم) محدَّدة مكان جميع الأنماط المتطابقة في السلسلة النصية التي استدعي معها.

هذا التابع مماثل تمامًا للتابع gsub ولكن يعدل على السلسلة المعطاة نفسها.

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

gsub!(pattern, replacement)  str or nil
gsub!(pattern, hash)  str or nil
gsub!(pattern) {|match| block }  str or nil
gsub!(pattern)  an_enumerator

المعاملات

pattern

يكون عادةً تعبيرًا نمطيًّا. إن كان سلسلة نصية، فستُفسَّر أية محارف خاصة بالتعبيرات النمطية الموجودة فيها حرفيًّا؛ أي '‎\\d' سيطابق خط مائل عكسي يتبعه الحرف 'd' مباشرةً بدلًا من عددٍ.

replacement

إن كان سلسلة نصية، فسيحل مكان النصي المتطابق. قد يحوي على مراجع خلفية (back-references) للمجموعات الملتقطة عبر النمط pattern مثل النموذج ‎\\d إذ d هو عدد المجموعة أو ‎\\k<n>‎ إذ n هو اسم المجموعة. إن كان سلسلة نصية مقتبسة بعلامتي اقتباس مزدوجتين، يجب أن يُسبّق كلا المرجعين الخلفيين بخط مائل عكسي إضافي. على أي حال، لن تشير المتغيرات الخاصة بالمجموعات الملتقطة (المتطابقة) - مثل ‎$&‎ - إلى العنصر الملتقط الحالي.

hash

جدول Hash. إن مُرِّر كمعامل ثاني إلى التابع وكانت إحدى القيم المتطابقة مساويةً لإحدى قيم مفاتيحه، فستُبدَل به القيمة المقابلة لهذا المفتاح. أي تُمثِّل تلك القيمة المقابلة سلسلة الاستبدال.

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

تعاد السلسلة النصية المعطاة نفسها بعد تبديل القيمة replacment أو hash مكان جميع الأنماط المتطابقة عبر pattern في السلسلة النصية المعطاة.

إن لم تُعطَ كتلة ولم يُمرَّر معامل ثانٍ (المعامل replacement أو hash)، فسيُعاد كائن من النوع Enumerator.

انظر أيضًا

  • التابع gsub: يعيد نسخة من السلسلة النصية التي استدعيت معه مع تبديل قيمة (أو قيم) محدَّدة مكان جميع الأنماط المتطابقة فيها.
  • التابع sub!‎: يبدل قيمة محدَّدة مكان أول تطابق للنمط معطى في السلسلة النصية التي استدعي معها.
  • التابع reverse!‎: يعدل على السلسلة النصية التي استدعي معها بعكس ترتيب المحارف فيها.
  • التابع scrub!‎: يستبدل البايتات غير الصالحة في السلسلة النصية التي استدعي معها بمحرف محدَّد أو بالقيمة التي تعيدها الكتلة إن أعطيت.
  • التابع slice!‎: يقتطع محرفًا ذا فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من السلسلة النصية التي استدعيت معه.

مصادر