• 0

كيف أفرز سلسلة نصية بطريقة أبجدية في روبي؟

أريد فرز سلسلة نصية معينة بترتيب أبجدي في روبي فما هي أسهل طريقة لفعل ذلك؟ فمثلا السلسلة التالية str = "String" أريد تحويلها إلى هذه "ginrSt"

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


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

هنالك عدّة طرق في لغة روبي لفرز أحرف سلسلة نصية بترتيب أبحدي فيمكنك على سبيل المثال استخدام توابع chars و sort و join للترتيب كما في المثال التالي:

str.chars.sort.join
#=> "Sginrt"

أما في حالة ما أردت فرز السلسلة النصية دون الاهتمام بحالة الأحرف (كما في مثالك)، فيمكنك استخدام هذه الطريقة للفرز:

str.chars.sort { |a, b| a.casecmp(b) } .join
#=> "ginrSt"

ومن الطرق المفيدة أيضا يمكنك استخدام هذه الطريقة كما في المثال التالي:

str = "String"
str.chars.sort_by(&:downcase).join
#=> "ginrSt"

المصدر

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


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

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

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

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


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

تسجيل الدخول

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


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