التابع Array.sort_by!
روبي
يُرتِّب التابع sort_by!
المصفوفة التي استُدعيت معه وفقًا لمجموعة من المفاتيح (set of keys) المولدة عبر تمرير كل عنصر من عناصر المصفوفة إلى كتلة برمجية مُحددة.
لن تكون النتيجة مضمونة مئة بالمئة، إذ لا يمكن التنبؤ بترتيب عنصري متجاورين لها نفس المفتاح.
في حال عدم تمرير كتلة برمجية إلى التابعsort_by!
، سيعيد كائنًا من النوع Enumerator
.
البنية العامة
sort_by! { |obj| block } → ary
sort_by! → Enumerator
القيم المعادة
تعاد المصفوفة نفسها المعطاة بعد ترتيب عناصرها وفقًا للقيمة التي تعيدها الكتلة block
لكل عنصر عند استدعائها معه، أو يعاد كائن من النوع Enumerator
إن لم تعطَ الكتلة block
.
أمثلة
أمثلة على استخدام التابع sort_by!
:
strings = %w(foo test blog a)
strings.sort_by! { |str| str.length }
puts strings # ["a", "foo", "test", "blog"]
انظر أيضًا
- التابع
sort!
: يرتب عناصر المصفوفة التي استُدعيت معه. - التابع
shuffle
!: يعيد ترتيب عناصر مصفوفة بشكل عشوائي. - التابع
rotate
: يعيد مصفوفة جديدة تحتوي عناصر المصفوفة التي استُدعيت معها مع إزاحة (تدوير) عناصرها ليكون العنصر ذو الفهرس الممرر إليها هو العنصر الأول في المصفوفة الجديدة. - التابع
reverse!
: يعكس ترتيب عناصر المصفوفة التي استُدعيت معه.