الفرق بين المراجعتين ل"Ruby/Array/fill"

من موسوعة حسوب
< Ruby‏ | Array
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>Array.fill</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby Method [[تصنيف: Ruby Array]...')
 
ط
 
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة)
سطر 4: سطر 4:
 
[[تصنيف: Ruby Array]]
 
[[تصنيف: Ruby Array]]
 
يضبط التابع <code>fill</code> قيم عناصر محدَّدة أو جميع عناصر مصفوفة إلى القيمة الممرَّرة إليه (الأشكال الثلاث الأولى للتابع في قسم «البنية العامة»)، أو القيم التي تعيدها الكتلة البرمجية الممرَّرة إليه (الأشكال الثلاث المتبقية).
 
يضبط التابع <code>fill</code> قيم عناصر محدَّدة أو جميع عناصر مصفوفة إلى القيمة الممرَّرة إليه (الأشكال الثلاث الأولى للتابع في قسم «البنية العامة»)، أو القيم التي تعيدها الكتلة البرمجية الممرَّرة إليه (الأشكال الثلاث المتبقية).
إن أعطيت القيمة <code>nil</code> للوسيط <code>start</code>، فذلك يكافئ تمرير القيمة 0 لهذا الوسيط. وفي حال إعطاء القيمة <code>nil</code> للوسيط [[Ruby/Array/length | <code>length</code>]]، فذلك يكافئ تمرير طول المصفوفة المعطاة.
+
 
في حال كانت قيمة الوسيط <code>start</code> سالبة، فسيُحسَب موضع كل عنصر يراد تبديل قيمته بدءًا من نهاية المصفوفة.
 
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="ruby"> fill(obj) → ary
 
<syntaxhighlight lang="ruby"> fill(obj) → ary
سطر 15: سطر 14:
 
  </syntaxhighlight>
 
  </syntaxhighlight>
 
==المعاملات==
 
==المعاملات==
<code>obj</code>
+
 
الكائن المراد أن يحل مكان عناصر محدد (باستعمال المعاملات <code>start</code> و [[Ruby/Array/length | <code>length</code>]] و <code>rang</code>) في المصفوفة المعطاة.
+
=== <code>obj</code> ===
<code>start</code>
+
الكائن المراد أن يحل مكان عناصر محددة (باستعمال المعاملات <code>start</code> و <code>length</code> و <code>rang</code>) في المصفوفة المعطاة.
 +
 
 +
=== <code>start</code> ===
 
عدد صحيح يمثل فهرس العنصر المراد استبدال قيمته أو بداية العناصر المراد استبدال قيمتها. إن كانت قيمة هذا المعامل سالبة، فسيحسب موضع العنصر بدءًا من نهاية المصفوفة.
 
عدد صحيح يمثل فهرس العنصر المراد استبدال قيمته أو بداية العناصر المراد استبدال قيمتها. إن كانت قيمة هذا المعامل سالبة، فسيحسب موضع العنصر بدءًا من نهاية المصفوفة.
[[Ruby/Array/length | <code>length</code>]]
+
 
عدد صحيح يمثل طول العناصر المراد استبدال قيمتها.
+
إن أعطيت القيمة <code>nil</code> للوسيط <code>start</code>، فذلك يكافئ تمرير القيمة <code>0</code> لهذا الوسيط. وفي حال كانت قيمة الوسيط <code>start</code> سالبة، فسيُحسَب موضع كل عنصر يراد تبديل قيمته بدءًا من نهاية المصفوفة.
<code>rang</code>
+
 
 +
=== <code>length</code> ===
 +
عدد صحيح يمثل طول العناصر المراد استبدال قيمتها. في حال إعطاء القيمة <code>nil</code> للوسيط <code>length</code>، فذلك يكافئ تمرير طول المصفوفة المعطاة.
 +
 
 +
=== <code>rang</code> ===
 
مجالٌ يحدد بداية ونهاية العناصر المراد استبدال قيمتها.
 
مجالٌ يحدد بداية ونهاية العناصر المراد استبدال قيمتها.
 
==القيم المعادة==
 
==القيم المعادة==
تعاد المصفوفة نفسها بعد تبديل قيمة الوسيط <code>obj</code> أو القيم التي تعيدها الكتلة <code>block</code> (التي يُمرَّر إليها قيمة فهرس العنصر المتسهدف) مكان جميع عناصر المصفوفة المعطاة إن لم يمرَّر أي وسيط آخر، أو بدءًا من العنصر ذي الفهرس <code>start</code> وحتى العنصر ذي الفهرس [[Ruby/Array/length | <code>length</code>]]، أو مكان العناصر الواقعة ضمن المجال <code>rang</code>.
+
تعاد المصفوفة نفسها بعد تبديل قيمة الوسيط <code>obj</code> أو القيم التي تعيدها الكتلة <code>block</code> (التي يُمرَّر إليها قيمة فهرس العنصر المستهدف) مكان جميع عناصر المصفوفة المعطاة إن لم يمرَّر أي وسيط آخر، أو بدءًا من العنصر ذي الفهرس <code>start</code> وحتى العنصر ذي الفهرس <code>length</code>، أو مكان العناصر الواقعة ضمن المجال <code>rang</code>.
 
==أمثلة==
 
==أمثلة==
 
أمثلة على استخدام التابع <code>fill</code>:
 
أمثلة على استخدام التابع <code>fill</code>:
سطر 35: سطر 40:
 
  </syntaxhighlight>
 
  </syntaxhighlight>
 
==انظر أيضًا==
 
==انظر أيضًا==
* التابع [[Ruby/Array/map | <code>map</code>]]: يستدعي كتلة برمجية محدَّدة مع كل عنصر من عناصر مصفوفة ثمَّ يضع الناتج الذي تعيده هذه الكتلة لكل عنصر في مصفوفة جديدة وتعيدها.
+
* التابع<nowiki/>[[Ruby/Array/map | <code>map</code>]]: يستدعي كتلة برمجية محدَّدة مع كل عنصر من عناصر مصفوفة ثمَّ يضع الناتج الذي تعيده هذه الكتلة لكل عنصر في مصفوفة جديدة وتعيدها.
* التابع !<code>!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>.
 
==مصادر==
 
==مصادر==
* قسم التابع 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.

مصادر