• 0

كيف أعكس محتويات سلسلة نصية في روبي؟

أريد عكس محتويات سلسلة نصية في روبي أي أن يصبح الحرف الأولى في موقع الحرف الأخير وهكذا، ولقد نصحني صديقي باستخدام حلقة التكرار، فكيف أستطيع فعل ذلك؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

يوجد العديد من الطرق في روبي لفعل ذلك، بل إن هنالك تابع لعكس محتوى السلسلة النصية وهو تابع reverse! والذي يمكنك استخدامه بسهولة كما في المثال التالي:

$ a = "abc"
$ a.reverse!
$ puts a
cba

وإذا أردت فعل ذلك بشكل يدوي عن طريق استخدام حلقة التكرار فيمكنك فعل ذلك كالتالي على الرغم من أنني أنصحك بعدم فعل ذلك لأن هذه الطريقة أطول وأبطئ من الطريقة الأولى:

class String
  def reverse_inplace!
    half_length = self.length / 2
    half_length.times {|i| self[i], self[-i-1] = self[-i-1], self[i] }
    self
  end
end

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن