التابع Array.product
في روبي
يوزِّع التابع product
عناصر المصفوفة التي استدعيت معه على جميع عناصر المصفوفات الممرَّرة إليه.
طول المصفوفة الناتجة يساوي جداء طول المصفوفة التي استُدعيت مع التابع بأطوال المصفوفات المُمرّرة إليه.
عندما يُستدعى التابع product
مع كتلة برمجية، فسيُعِدّ التابع كل التبديلات الممكنة بين عناصر المصفوفات ثم يعيد المصفوفة نفسها.
البنية العامة
product(other_ary, ...) → new_ary
product(other_ary, ...) { |p| block } → ary
المعاملات
other_ary
مصفوفة يراد توزيع عناصر المصفوفة المعطاة على عناصرها.
…
مصفوفات أخرى يراد توزيع عناصر المصفوفة المعطاة على عناصرها.
القيم المعادة
تعاد مصفوفة جديدة تحوي المصفوفات الناتجة عن توزيع عناصر المصفوفة المعطاة على عناصر المصفوفة other_ary
والمصفوفات الأخرى الممررة، أو تعاد المصفوفة نفسها المعطاة بعد إجراء عملية التوزيع إن أعطيت الكتلة block
.
أمثلة
أمثلة على استخدام التابع product
:
[1,2,3].product([4,5]) #=> [[1,4],[1,5],[2,4],[2,5],[3,4],[3,5]]
[1,2].product([1,2]) #=> [[1,1],[1,2],[2,1],[2,2]]
[1,2].product([3,4],[5,6]) #=> [[1,3,5],[1,3,6],[1,4,5],[1,4,6],
# [2,3,5],[2,3,6],[2,4,5],[2,4,6]]
[1,2].product() #=> [[1],[2]]
[1,2].product([]) #=> []
انظر أيضًا
- التابع
combination
: يجمِّع عناصر المصفوفة المعطاة مع بعضها بعضًا في مصفوفات بطول يساوي القيمةn
الممررة إليه ثم يضع هذه المصفوفات في المصفوفة نفسها المعطاة ويعيدها. - التابع
permutation
: يعيد كل التبديلات (permutations) الممكنة لجميع عناصر مصفوفة، أو كل التبديلات المكونة منn
عنصر من عناصر المصفوفة فقط ثم يعيد المصفوفة نفسها.