الفرق بين المراجعتين لصفحة: «Ruby/Array/product»

من موسوعة حسوب
< Ruby‏ | Array
لا ملخص تعديل
طلا ملخص تعديل
 
سطر 17: سطر 17:
مصفوفة يراد توزيع عناصر المصفوفة المعطاة على عناصرها.
مصفوفة يراد توزيع عناصر المصفوفة المعطاة على عناصرها.


=== … ===
=== <code></code> ===
مصفوفات أخرى يراد توزيع عناصر المصفوفة المعطاة على عناصرها.
مصفوفات أخرى يراد توزيع عناصر المصفوفة المعطاة على عناصرها.
==القيم المعادة==
==القيم المعادة==
سطر 33: سطر 33:
  </syntaxhighlight>
  </syntaxhighlight>
==انظر أيضًا==
==انظر أيضًا==
* التابع [[Ruby/Array/combination | <code>combination</code>]]: يجمِّع عناصر المصفوفة المعطاة مع بعضها بعضًا في مصفوفات بطول يساوي القيمة <code>n</code> الممررة إليه ثم يضع هذه المصفوفات في المصفوفة نفسها المعطاة ويعيدها.
* التابع<nowiki/>[[Ruby/Array/combination | <code>combination</code>]]: يجمِّع عناصر المصفوفة المعطاة مع بعضها بعضًا في مصفوفات بطول يساوي القيمة <code>n</code> الممررة إليه ثم يضع هذه المصفوفات في المصفوفة نفسها المعطاة ويعيدها.
* التابع [[Ruby/Array/permutation | <code>permutation</code>]]: يعيد كل التبديلات (<code>permutations</code>) الممكنة لجميع عناصر مصفوفة، أو كل التبديلات المكونة من <code>n</code> عنصر من عناصر المصفوفة فقط ثم يعيد المصفوفة نفسها.
* التابع<nowiki/>[[Ruby/Array/permutation | <code>permutation</code>]]: يعيد كل التبديلات (permutations) الممكنة لجميع عناصر مصفوفة، أو كل التبديلات المكونة من <code>n</code> عنصر من عناصر المصفوفة فقط ثم يعيد المصفوفة نفسها.
==مصادر==
==مصادر==
* [https://ruby-doc.org/core-2.5.1/Array.html#method-i-product قسم التابع product في الصنف Array في توثيق روبي الرسمي.]
* [https://ruby-doc.org/core-2.5.1/Array.html#method-i-product قسم التابع product في الصنف Array في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 08:59، 3 أكتوبر 2018

يوزِّع التابع 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 عنصر من عناصر المصفوفة فقط ثم يعيد المصفوفة نفسها.

مصادر