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

من موسوعة حسوب
< Ruby‏ | Array
لا ملخص تعديل
طلا ملخص تعديل
 
سطر 5: سطر 5:
يضبط التابع <code>fill</code> قيم عناصر محدَّدة أو جميع عناصر مصفوفة إلى القيمة الممرَّرة إليه (الأشكال الثلاث الأولى للتابع في قسم «البنية العامة»)، أو القيم التي تعيدها الكتلة البرمجية الممرَّرة إليه (الأشكال الثلاث المتبقية).
يضبط التابع <code>fill</code> قيم عناصر محدَّدة أو جميع عناصر مصفوفة إلى القيمة الممرَّرة إليه (الأشكال الثلاث الأولى للتابع في قسم «البنية العامة»)، أو القيم التي تعيدها الكتلة البرمجية الممرَّرة إليه (الأشكال الثلاث المتبقية).


إن أعطيت القيمة <code>nil</code> للوسيط <code>start</code>، فذلك يكافئ تمرير القيمة <code>0</code> لهذا الوسيط. وفي حال إعطاء القيمة <code>nil</code> للوسيط  <code>length</code>، فذلك يكافئ تمرير طول المصفوفة المعطاة.
في حال كانت قيمة الوسيط <code>start</code> سالبة، فسيُحسَب موضع كل عنصر يراد تبديل قيمته بدءًا من نهاية المصفوفة.
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="ruby"> fill(obj) → ary
<syntaxhighlight lang="ruby"> fill(obj) → ary
سطر 23: سطر 20:
=== <code>start</code> ===
=== <code>start</code> ===
عدد صحيح يمثل فهرس العنصر المراد استبدال قيمته أو بداية العناصر المراد استبدال قيمتها. إن كانت قيمة هذا المعامل سالبة، فسيحسب موضع العنصر بدءًا من نهاية المصفوفة.
عدد صحيح يمثل فهرس العنصر المراد استبدال قيمته أو بداية العناصر المراد استبدال قيمتها. إن كانت قيمة هذا المعامل سالبة، فسيحسب موضع العنصر بدءًا من نهاية المصفوفة.
إن أعطيت القيمة <code>nil</code> للوسيط <code>start</code>، فذلك يكافئ تمرير القيمة <code>0</code> لهذا الوسيط. وفي حال كانت قيمة الوسيط <code>start</code> سالبة، فسيُحسَب موضع كل عنصر يراد تبديل قيمته بدءًا من نهاية المصفوفة.


=== <code>length</code> ===
=== <code>length</code> ===
عدد صحيح يمثل طول العناصر المراد استبدال قيمتها.
عدد صحيح يمثل طول العناصر المراد استبدال قيمتها. في حال إعطاء القيمة <code>nil</code> للوسيط <code>length</code>، فذلك يكافئ تمرير طول المصفوفة المعطاة.


=== <code>rang</code> ===
=== <code>rang</code> ===
سطر 41: سطر 40:
  </syntaxhighlight>
  </syntaxhighlight>
==انظر أيضًا==
==انظر أيضًا==
* التابع [[Ruby/Array/map | <code>map</code>]]: يستدعي كتلة برمجية محدَّدة مع كل عنصر من عناصر مصفوفة ثمَّ يضع الناتج الذي تعيده هذه الكتلة لكل عنصر في مصفوفة جديدة وتعيدها.
* التابع<nowiki/>[[Ruby/Array/map | <code>map</code>]]: يستدعي كتلة برمجية محدَّدة مع كل عنصر من عناصر مصفوفة ثمَّ يضع الناتج الذي تعيده هذه الكتلة لكل عنصر في مصفوفة جديدة وتعيدها.
* التابع<code>[[Ruby/Array/!collect|!collect]]</code>: يستدعي كتلة برمجية محددة مع كل عنصر من عناصر مصفوفة ثم يضع القيمة التي أعادتها تلك الكتلة مكان العنصر الذي استدعيت معه.
* التابع <code>[[Ruby/Array/!collect|!collect]]</code>: يستدعي كتلة برمجية محددة مع كل عنصر من عناصر مصفوفة ثم يضع القيمة التي أعادتها تلك الكتلة مكان العنصر الذي استدعيت معه.
* التابع [[Ruby/Array/cycle | <code>cycle</code>]]: يستدعي كتلة برمجية محددة مع كل عنصر من عناصر المصفوفة عددًا محددًا من المرات أو عددًا لا نهائيًّا من المرات إن أعطيت القيمة <code>nil</code>.
* التابع<nowiki/>[[Ruby/Array/cycle | <code>cycle</code>]]: يستدعي كتلة برمجية محددة مع كل عنصر من عناصر المصفوفة عددًا محددًا من المرات أو عددًا لا نهائيًّا من المرات إن أعطيت القيمة <code>nil</code>.
==مصادر==
==مصادر==
* [https://ruby-doc.org/core-2.5.1/Array.html#method-i-fill قسم التابع Array.fill في الصنف Array في توثيق روبي الرسمي.]
* [https://ruby-doc.org/core-2.5.1/Array.html#method-i-fill قسم التابع Array.fill في الصنف Array في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 07:16، 2 أكتوبر 2018

يضبط التابع fill قيم عناصر محدَّدة أو جميع عناصر مصفوفة إلى القيمة الممرَّرة إليه (الأشكال الثلاث الأولى للتابع في قسم «البنية العامة»)، أو القيم التي تعيدها الكتلة البرمجية الممرَّرة إليه (الأشكال الثلاث المتبقية).

البنية العامة

 fill(obj)  ary
fill(obj, start [, length])  ary
fill(obj, range )  ary
fill { |index| block }  ary
fill(start [, length] ) { |index| block }  ary
fill(range) { |index| block }  ary

المعاملات

obj

الكائن المراد أن يحل مكان عناصر محددة (باستعمال المعاملات start و length و rang) في المصفوفة المعطاة.

start

عدد صحيح يمثل فهرس العنصر المراد استبدال قيمته أو بداية العناصر المراد استبدال قيمتها. إن كانت قيمة هذا المعامل سالبة، فسيحسب موضع العنصر بدءًا من نهاية المصفوفة.

إن أعطيت القيمة nil للوسيط start، فذلك يكافئ تمرير القيمة 0 لهذا الوسيط. وفي حال كانت قيمة الوسيط start سالبة، فسيُحسَب موضع كل عنصر يراد تبديل قيمته بدءًا من نهاية المصفوفة.

length

عدد صحيح يمثل طول العناصر المراد استبدال قيمتها. في حال إعطاء القيمة nil للوسيط length، فذلك يكافئ تمرير طول المصفوفة المعطاة.

rang

مجالٌ يحدد بداية ونهاية العناصر المراد استبدال قيمتها.

القيم المعادة

تعاد المصفوفة نفسها بعد تبديل قيمة الوسيط obj أو القيم التي تعيدها الكتلة block (التي يُمرَّر إليها قيمة فهرس العنصر المستهدف) مكان جميع عناصر المصفوفة المعطاة إن لم يمرَّر أي وسيط آخر، أو بدءًا من العنصر ذي الفهرس start وحتى العنصر ذي الفهرس length، أو مكان العناصر الواقعة ضمن المجال rang.

أمثلة

أمثلة على استخدام التابع fill:

 a = [ "a", "b", "c", "d" ]
a.fill("x")              #=> ["x", "x", "x", "x"]
a.fill("z", 2, 2)        #=> ["x", "x", "z", "z"]
a.fill("y", 0..1)        #=> ["y", "y", "z", "z"]
a.fill { |i| i*i }       #=> [0, 1, 4, 9]
a.fill(-2) { |i| i*i*i } #=> [0, 1, 8, 27]

انظر أيضًا

  • التابع map: يستدعي كتلة برمجية محدَّدة مع كل عنصر من عناصر مصفوفة ثمَّ يضع الناتج الذي تعيده هذه الكتلة لكل عنصر في مصفوفة جديدة وتعيدها.
  • التابع !collect: يستدعي كتلة برمجية محددة مع كل عنصر من عناصر مصفوفة ثم يضع القيمة التي أعادتها تلك الكتلة مكان العنصر الذي استدعيت معه.
  • التابع cycle: يستدعي كتلة برمجية محددة مع كل عنصر من عناصر المصفوفة عددًا محددًا من المرات أو عددًا لا نهائيًّا من المرات إن أعطيت القيمة nil.

مصادر