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

من موسوعة حسوب
< Ruby‏ | Array
مراجعة 10:06، 3 أكتوبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (مراجعة وتدقيق.)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يرتب التابع sort عناصر المصفوفة التي استُدعيت معه ويعيدها في مصفوفة جديدة.

ستجرى عملية الموازنة بين عناصر المصفوفة المراد ترتيبها باستعمال المعامل <=> أو باستعمال كتلة برمجية محددة.

إن استعملت الكتلة البرمجية block في ترتيب العناصر، فيجب أن تجري موازنة بين العنصر a والعنصر b وتعيد عددًا سالبًا إن كان b أكبر من a، أو العدد 0 إن كانا متساويين، أو عددًا موجبًا إن كان b أصغر من a. مع ذلك، لن تكون النتيجة مضمونة مئة بالمئة، إذ لا يمكن التنبؤ بترتيب العناصر المتساوية مع بعضها التي تعيد عملية الموازنة بينهما القيمة 0.

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

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

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

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

أمثلة

أمثلة على استخدام التابع sort:

ary = [ "d", "a", "e", "c", "b" ]
ary.sort                     #=> ["a", "b", "c", "d", "e"]
ary.sort { |a, b| b <=> a }  #=> ["e", "d", "c", "b", "a"]

انظر أيضًا

  • التابع sort!‎: يرتب عناصر المصفوفة التي استُدعيت معه.
  • التابع sort_by!: يُرتب المصفوفة التي استُدعيت معه وفقًا لمجموعة من المفاتيح (set of keys) المولدة عبر تمرير كل عنصر من عناصر المصفوفة إلى كتلة برمجية مُحددة.
  • التابع shuffle: يعيد ترتيب عناصر مصفوفة بشكل عشوائي ثم يضعها في مصفوفة جديدة.
  • التابع rotate: يعيد مصفوفة جديدة تحتوي عناصر المصفوفة التي استُدعيت معها مع إزاحة (تدوير) عناصرها ليكون العنصر ذو الفهرس الممرر إليها هو العنصر الأول في المصفوفة الجديدة.
  • التابع reverse: يعكس ترتيب عناصر المصفوفة التي استُدعيت معه ويضعها في مصفوفة جديدة.

مصادر