التابع String.next في روبي

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

يعيد التابع next السلسلة النصية اللاحقة للسلسلة النصية التي استدعي معها.

تُحسّب السلسلة النصية اللاحقة عبر زيادة المحارف بدءًا من العدد الواقع في أقصى اليمين (أو المحرف الواقع في أقصى اليمين إن لم يكن عددًا) في السلسلة النصية المعطاة. زيادة عدد يؤدي دومًا إلى توليد عدد آخر، ولكن زيادة حرف يَنتُج عنه حرفٌ آخر من نفس الحالة. أمَّا زيادة محرف (أي ليس حرفًا أبجديًّا وليس عددًا)، فسيُستعمَل آنذاك مجموعة المحارف الأساسية المتسلسلة.

إن ولدت عملية الزيادة «حملًا» (مثل زيادة العدد 9 يولد 0 والحمل 1)، فسيضاف إلى المحرف المجاور للمحرف المُزَاد من الطرف الأيسر. تُكرَّر هذه العملية حتى جمع الحمل وعدم توليد حمل آخر، مع إضافة المحارف الزائدة إن كان ذلك ضروريًّا.

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

next  new_str

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

تعاد سلسلة نصية تمثِّل السلسلة النصية اللاحقة لتلك المعطاة.

أمثلة

مثال على استعمال التابع next:

"abcd".succ        #=> "abce"
"THX1138".succ     #=> "THX1139"
"<<koala>>".succ   #=> "<<koalb>>"
"1999zzz".succ     #=> "2000aaa"
"ZZZ9999".succ     #=> "AAAA0000"
"***".succ         #=> "**+"

انظر أيضًا

  • التابع chomp: يعيد نسخة عن السلسلة النصية مع حذف الفاصل السطري المُحدد من نهايتها (إن كان موجودًا).
  • التابع next!‎: يشبه التابع next تمامًا باستثناء أنه يعدل على السلسلة النصية التي تُستدعَى معه.
  • التابع prepend: يُلحق السلسلة النصية المُمرَّرة إليه ببداية السلسلة النصية التي استدعيت معه.

مصادر