التابع Enumerable.zip
في روبي
< Ruby | Enumerable
يدمج التابع zip
بين كل عنصر من عناصر الكائن القابل للتعداد الذي استدعي معه مع العناصر المقابلة له من كل معامل من المعاملات المُمرَّرة إليه. هذا يولد سلسلة من المصفوفات المكونة من n
عنصر، إذ n
هي عدد أكبر من عدد المعاملات المُمرَّرة بمقدار 1. طول السلسلة الناتجة ستكون enum.size
. إن كان طول أي معامل أقل من enum.size
، فستحل القيم nil
مكان العناصر الشاغرة.
إن أعطيت كتلة، فستُستدعَى لكل مصفوفة ناتجة؛ خلا ذلك، ستُعاد مصفوفة من المصفوفات الناتجة.
البنية العامة
zip(arg, ...) → an_array_of_array
zip(arg, ...) { |arr| block } → nil
القيمة المعادة
تعاد مصفوفة من المصفوفات الناتجة عند عملية الدمج، أو تعاد القيمة nil
إن أعطيت الكتلة block
.
أمثلة
مثال على استعمال التابع zip
:
a = [0, 1, 2, 2, 3, 4, 4, 5, 0]
a.uniq #=> [0, 1, 2, 3, 4, 5]
انظر أيضًا
- التابع
group_by
: يجمِّع عناصر الكائن القابل للتعداد الذي استدعي معه في مجموعات بحسب النتيجة المقابلة لكل عنصر التي تعيدها الكتلة المعطاة بعد تمريره إليها. - التابع
slice_after
: يقطِّع عناصر الكائن القابل للتعداد إلى أجزاء تحدَّد نهايتها عبر نمطٍ محدِّدٍ أو كتلةٍ معطاةٍ ثم يعيد مُعدِّد لكل جزء من الأجزاء الناتجة.
- التابع
sort_by
: يرتِّب عناصر الكائن القابل للتعداد الذي استدعي معه باستعمال مجموعة من المفاتيح المولدة عبر تمرير قيم العناصر إلى الكتلة المعطاة.