التابع Enumerable.sort في روبي

من موسوعة حسوب
مراجعة 08:33، 31 ديسمبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (إنشاء الصفحة.)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يرتِّب التابع sort عناصر الكائن القابل للترتيب الذي استدعي معه ثم يعيدها في مصفوفة.

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

sort  array
sort { |a, b| block }  array

تُجرَى عملية الموازنة بين العناصر من أجل ترتيبها باستعمال المعامل <=> أو باستعمال الكتلة إن أعطيت.

إن أعطيت الكتلة، فيجب أن تُنفِّذ عملية موازنة بين a و b وتعيد عددًا صحيحًا أصغر من الصفر عندما يكون a أصغر من b، أو العدد 0 عندما يكون a مساويًا إلى b، أو عددًا صحيحًا أكبر من الصفر عندما يكون a أكبر من b.

لا يُضمَن بأن تكون النتيجة مستقرة. عندما تعيد عملية الموازنة بين عنصرين القيمة 0، إذ لن يُتوقَع كيفية ترتيب هذين العنصرين ومن منهما سيسبق الآخر.

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

تعاد مصفوفة جديد تحوي عناصر الكائن القابل للترتيب المعطى بعد ترتيبها.

أمثلة

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

%w(rhea kea flea).sort           #=> ["flea", "kea", "rhea"]
(1..10).sort { |a, b| b <=> a }  #=> [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

انظر أيضًا

  • التابع reduce: يجمع جميع عناصر الكائن القابل للتعداد الذي استدعي معه عبر تطبيق عملية ثنائية تُحدَّد بوساطة كتلة أو رمز يسمي تابعًا أو معاملًا.
  • التابع sort_by: يرتِّب عناصر الكائن القابل للتعداد الذي استدعي معه باستعمال مجموعة من المفاتيح المولدة عبر تمرير قيم العناصر إلى الكتلة المعطاة.

مصادر