الفرق بين المراجعتين لصفحة: «Ruby/Array/combination»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>Array.combination</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby Method تصنيف: Ruby...' |
جميل-بيلوني (نقاش | مساهمات) طلا ملخص تعديل |
||
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة) | |||
سطر 4: | سطر 4: | ||
[[تصنيف: Ruby Array]] | [[تصنيف: Ruby Array]] | ||
يجمِّع التابع <code>combination</code> عناصر المصفوفة المعطاة مع بعضها بعضًا في مصفوفات بطول يساوي القيمة <code>n</code> الممررة إليه ثم يضع هذه المصفوفات في المصفوفة نفسها المعطاة ويعيدها. لا يوجد أي ضمان للتنبؤ بترتيب العناصر المجمَّعة المعادة. | يجمِّع التابع <code>combination</code> عناصر المصفوفة المعطاة مع بعضها بعضًا في مصفوفات بطول يساوي القيمة <code>n</code> الممررة إليه ثم يضع هذه المصفوفات في المصفوفة نفسها المعطاة ويعيدها. لا يوجد أي ضمان للتنبؤ بترتيب العناصر المجمَّعة المعادة. | ||
إن لم تمرَّر أي كتلة (<code>block</code>) إلى هذا التابع، فسيعيد كائنًا من النوع <code>Enumerator</code>. | |||
إن لم تمرَّر أي كتلة (<code>block</code>) إلى هذا التابع، فسيعيد كائنًا من النوع <code>[[Ruby/Enumerator|Enumerator]]</code>. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby"> combination(n) { |c| block } → ary | <syntaxhighlight lang="ruby"> combination(n) { |c| block } → ary | ||
سطر 10: | سطر 11: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==المعاملات== | ==المعاملات== | ||
<code>n</code> | |||
=== <code>n</code> === | |||
عدد صحيح يحدد عدد عناصر المصفوفات الفرعية المراد تجميع عناصر المصفوفة المعطاة ضمنها. | عدد صحيح يحدد عدد عناصر المصفوفات الفرعية المراد تجميع عناصر المصفوفة المعطاة ضمنها. | ||
==القيم المعادة== | ==القيم المعادة== | ||
تعاد المصفوفة نفسها المعطاة بعد تجميع عناصرها بترتيب معين في مصفوفات فرعية طول كل منها متعلق بالقيمة <code>n</code> المعطاة، أو يعاد كائن من النوع <code>Enumerator</code> إن لم تعط الكتلة <code>block</code>. | تعاد المصفوفة نفسها المعطاة بعد تجميع عناصرها بترتيب معين في مصفوفات فرعية طول كل منها متعلق بالقيمة <code>n</code> المعطاة، أو يعاد كائن من النوع <code>[[Ruby/Enumerator|Enumerator]]</code> إن لم تعط الكتلة <code>block</code>. | ||
==أمثلة== | ==أمثلة== | ||
أمثلة على استخدام التابع <code>combination</code>: | أمثلة على استخدام التابع <code>combination</code>: | ||
سطر 28: | سطر 30: | ||
==انظر أيضًا== | ==انظر أيضًا== | ||
* التابع [[Ruby/Array/repeated_combination | <code>repeated_combination</code>]]: يشبه التابع <code>combination</code> باستثناء أنه يمكنه تجميع العناصر مع نفسها (أي تكرار العناصر نفسها). | * التابع [[Ruby/Array/repeated_combination | <code>repeated_combination</code>]]: يشبه التابع <code>combination</code> باستثناء أنه يمكنه تجميع العناصر مع نفسها (أي تكرار العناصر نفسها). | ||
* التابع [[Ruby/Array/permutation | <code>permutation</code>]]: يعيد كل التبديلات ( | * التابع [[Ruby/Array/permutation | <code>permutation</code>]]: يعيد كل التبديلات (permutations) الممكنة لجميع عناصر مصفوفة، أو كل التبديلات المكونة من <code>n</code> عنصر من عناصر المصفوفة فقط ثم يعيد المصفوفة نفسها. | ||
* التابع [[Ruby/Array/repeated_permutation | <code>repeated_permutation</code>]]: يشبه التابع [[Ruby/Array/permutation | <code>permutation</code>]] باستثناء أنَّه يستطيع إنشاء تبديلات للعناصر مع نفسها (أي تكرار العناصر نفسها) وأنه لا يمكن استدعاؤه دون تمرير عدد العناصر المراد التبديل بينها إليه. | * التابع [[Ruby/Array/repeated_permutation | <code>repeated_permutation</code>]]: يشبه التابع<nowiki/>[[Ruby/Array/permutation | <code>permutation</code>]] باستثناء أنَّه يستطيع إنشاء تبديلات للعناصر مع نفسها (أي تكرار العناصر نفسها) وأنه لا يمكن استدعاؤه دون تمرير عدد العناصر المراد التبديل بينها إليه. | ||
* التابع [[Ruby/Array/product | <code>product</code>]]: يوزِّع عناصر المصفوفة التي استدعيت معه على جميع عناصر المصفوفات الممرَّرة إليه. | * التابع [[Ruby/Array/product | <code>product</code>]]: يوزِّع عناصر المصفوفة التي استدعيت معه على جميع عناصر المصفوفات الممرَّرة إليه. | ||
* التابع [[Ruby/Array/zip | <code>zip</code>]]: يحول الوسائط الممرَّرة إليه إلى مصفوفات ثم يدمج عناصر المصفوفة التي استُدعيت معه مع العناصر المقابلة في الوسائط (المصفوفات) المُمرَّرة. | * التابع [[Ruby/Array/zip | <code>zip</code>]]: يحول الوسائط الممرَّرة إليه إلى مصفوفات ثم يدمج عناصر المصفوفة التي استُدعيت معه مع العناصر المقابلة في الوسائط (المصفوفات) المُمرَّرة. | ||
==مصادر== | ==مصادر== | ||
* قسم التابع combination في الصنف Array في توثيق روبي الرسمي. | * [https://ruby-doc.org/core-2.5.1/Array.html#method-i-combination قسم التابع combination في الصنف Array في توثيق روبي الرسمي.] |
المراجعة الحالية بتاريخ 06:58، 2 أكتوبر 2018
يجمِّع التابع combination
عناصر المصفوفة المعطاة مع بعضها بعضًا في مصفوفات بطول يساوي القيمة n
الممررة إليه ثم يضع هذه المصفوفات في المصفوفة نفسها المعطاة ويعيدها. لا يوجد أي ضمان للتنبؤ بترتيب العناصر المجمَّعة المعادة.
إن لم تمرَّر أي كتلة (block
) إلى هذا التابع، فسيعيد كائنًا من النوع Enumerator
.
البنية العامة
combination(n) { |c| block } → ary
combination(n) → Enumerator
المعاملات
n
عدد صحيح يحدد عدد عناصر المصفوفات الفرعية المراد تجميع عناصر المصفوفة المعطاة ضمنها.
القيم المعادة
تعاد المصفوفة نفسها المعطاة بعد تجميع عناصرها بترتيب معين في مصفوفات فرعية طول كل منها متعلق بالقيمة n
المعطاة، أو يعاد كائن من النوع Enumerator
إن لم تعط الكتلة block
.
أمثلة
أمثلة على استخدام التابع combination
:
a = [1, 2, 3, 4]
a.combination(1).to_a #=> [[1],[2],[3],[4]]
a.combination(2).to_a #=> [[1,2],[1,3],[1,4],[2,3],[2,4],[3,4]]
a.combination(3).to_a #=> [[1,2,3],[1,2,4],[1,3,4],[2,3,4]]
a.combination(4).to_a #=> [[1,2,3,4]]
a.combination(0).to_a #=> [[]] # one combination of length 0
a.combination(5).to_a #=> [] # no combinations of length 5
انظر أيضًا
- التابع
repeated_combination
: يشبه التابعcombination
باستثناء أنه يمكنه تجميع العناصر مع نفسها (أي تكرار العناصر نفسها). - التابع
permutation
: يعيد كل التبديلات (permutations) الممكنة لجميع عناصر مصفوفة، أو كل التبديلات المكونة منn
عنصر من عناصر المصفوفة فقط ثم يعيد المصفوفة نفسها. - التابع
repeated_permutation
: يشبه التابعpermutation
باستثناء أنَّه يستطيع إنشاء تبديلات للعناصر مع نفسها (أي تكرار العناصر نفسها) وأنه لا يمكن استدعاؤه دون تمرير عدد العناصر المراد التبديل بينها إليه. - التابع
product
: يوزِّع عناصر المصفوفة التي استدعيت معه على جميع عناصر المصفوفات الممرَّرة إليه. - التابع
zip
: يحول الوسائط الممرَّرة إليه إلى مصفوفات ثم يدمج عناصر المصفوفة التي استُدعيت معه مع العناصر المقابلة في الوسائط (المصفوفات) المُمرَّرة.