الفرق بين المراجعتين لصفحة: «Ruby/Array/repeated permutation»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>Array.repeated_permutation</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby Method تصن...' |
لا ملخص تعديل |
||
سطر 4: | سطر 4: | ||
[[تصنيف: Ruby Array]] | [[تصنيف: Ruby Array]] | ||
يشبه التابع <code>repeated_permutation</code> التابع [[Ruby/Array/permutation | <code>permutation</code>]] باستثناء أنَّه يستطيع إنشاء تبديلات للعناصر مع نفسها (أي تكرار العناصر نفسها) وأنه لا يمكن استدعاؤه دون تمرير عدد العناصر المراد التبديل بينها إليه. لا يوجد أي ضمان للتنبؤ بترتيب العناصر المعادة. | يشبه التابع <code>repeated_permutation</code> التابع [[Ruby/Array/permutation | <code>permutation</code>]] باستثناء أنَّه يستطيع إنشاء تبديلات للعناصر مع نفسها (أي تكرار العناصر نفسها) وأنه لا يمكن استدعاؤه دون تمرير عدد العناصر المراد التبديل بينها إليه. لا يوجد أي ضمان للتنبؤ بترتيب العناصر المعادة. | ||
إن لم تُمرَّر أي كتلة (<code>block</code>) إلى هذا التابع، فسيعيد كائنًا من النوع <code>Enumerator</code>. | |||
إن لم تُمرَّر أي كتلة (<code>block</code>) إلى هذا التابع، فسيعيد كائنًا من النوع <code>[[Ruby/Enumerator|Enumerator]]</code>. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby"> repeated_permutation(n) { |p| block } → ary | <syntaxhighlight lang="ruby"> repeated_permutation(n) { |p| block } → ary | ||
سطر 10: | سطر 11: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==المعاملات== | ==المعاملات== | ||
<code>n</code> | |||
=== <code>n</code> === | |||
عدد صحيح يحدد عدد عناصر المصفوفات الفرعية المراد تبديل عناصر المصفوفة المعطاة مع بعضها بعضًا. | عدد صحيح يحدد عدد عناصر المصفوفات الفرعية المراد تبديل عناصر المصفوفة المعطاة مع بعضها بعضًا. | ||
==القيم المعادة== | ==القيم المعادة== | ||
تعاد المصفوفة نفسها المعطاة بعد التبديل بين <code>n</code> من عناصرها مع نفسها ومع العناصر الأخرى بعد تمرير الكتلة <code>block</code>، أو يعاد كائن من النوع <code>Enumerator</code> إن لم تعطَ الكتلة <code>block</code>. | تعاد المصفوفة نفسها المعطاة بعد التبديل بين <code>n</code> من عناصرها مع نفسها ومع العناصر الأخرى بعد تمرير الكتلة <code>block</code>، أو يعاد كائن من النوع <code>[[Ruby/Enumerator|Enumerator]]</code> إن لم تعطَ الكتلة <code>block</code>. | ||
==أمثلة== | ==أمثلة== | ||
أمثلة على استخدام التابع <code>repeated_permutation</code>: | أمثلة على استخدام التابع <code>repeated_permutation</code>: | ||
سطر 29: | سطر 31: | ||
* التابع [[Ruby/Array/repeated_combination | <code>repeated_combination</code>]]: يشبه التابع [[Ruby/Array/combination | <code>combination</code>]] باستثناء أنه يمكنه تجميع العناصر مع نفسها (أي تكرار العناصر نفسها). | * التابع [[Ruby/Array/repeated_combination | <code>repeated_combination</code>]]: يشبه التابع [[Ruby/Array/combination | <code>combination</code>]] باستثناء أنه يمكنه تجميع العناصر مع نفسها (أي تكرار العناصر نفسها). | ||
==مصادر== | ==مصادر== | ||
* قسم التابع repeated_permutation في الصنف Array في توثيق روبي الرسمي. | * [https://ruby-doc.org/core-2.5.1/Array.html#method-i-repeated_permutation قسم التابع repeated_permutation في الصنف Array في توثيق روبي الرسمي.] |
مراجعة 18:34، 7 سبتمبر 2018
يشبه التابع repeated_permutation
التابع permutation
باستثناء أنَّه يستطيع إنشاء تبديلات للعناصر مع نفسها (أي تكرار العناصر نفسها) وأنه لا يمكن استدعاؤه دون تمرير عدد العناصر المراد التبديل بينها إليه. لا يوجد أي ضمان للتنبؤ بترتيب العناصر المعادة.
إن لم تُمرَّر أي كتلة (block
) إلى هذا التابع، فسيعيد كائنًا من النوع Enumerator
.
البنية العامة
repeated_permutation(n) { |p| block } → ary
repeated_permutation(n) → Enumerator
المعاملات
n
عدد صحيح يحدد عدد عناصر المصفوفات الفرعية المراد تبديل عناصر المصفوفة المعطاة مع بعضها بعضًا.
القيم المعادة
تعاد المصفوفة نفسها المعطاة بعد التبديل بين n
من عناصرها مع نفسها ومع العناصر الأخرى بعد تمرير الكتلة block
، أو يعاد كائن من النوع Enumerator
إن لم تعطَ الكتلة block
.
أمثلة
أمثلة على استخدام التابع repeated_permutation
:
a = [1, 2]
a.repeated_permutation(1).to_a #=> [[1], [2]]
a.repeated_permutation(2).to_a #=> [[1,1],[1,2],[2,1],[2,2]]
a.repeated_permutation(3).to_a #=> [[1,1,1],[1,1,2],[1,2,1],[1,2,2],
# [2,1,1],[2,1,2],[2,2,1],[2,2,2]]
a.repeated_permutation(0).to_a #=> [[]] # يوجد تبديل واحد بطول 0
انظر أيضًا
- التابع
permutation
: يعيد كل التبديلات (permutations
) الممكنة لجميع عناصر مصفوفة، أو كل التبديلات المكونة منn
عنصر من عناصر المصفوفة فقط ثم يعيد المصفوفة نفسها. - التابع
combination
: عندما يُستدعى التابعcombination
مع كتلة برمجية، فسيعيد كل التوليفات المكونة منn
عنصر من المصفوفة، ثم يعيد المصفوفة نفسها. لا يوجد ضمانة لمعرفة ترتيب تلك التوليفات. - التابع
repeated_combination
: يشبه التابعcombination
باستثناء أنه يمكنه تجميع العناصر مع نفسها (أي تكرار العناصر نفسها).