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

من موسوعة حسوب
< Ruby‏ | Array
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>Array.shift</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby Method تصنيف: Ruby Array...'
 
لا ملخص تعديل
سطر 4: سطر 4:
[[تصنيف: Ruby Array]]
[[تصنيف: Ruby Array]]
يحذف التابع <code>shift</code> أول عنصر أو أول <code>n</code> عنصر من عناصر مصفوفة ثم يعيده أو يعيد مصفوفة تحوي العناصر المحذوفة.
يحذف التابع <code>shift</code> أول عنصر أو أول <code>n</code> عنصر من عناصر مصفوفة ثم يعيده أو يعيد مصفوفة تحوي العناصر المحذوفة.
إن مرِّر عدد <code>n</code> كوسيط إلى التابع <code>shift</code>، فسيحذف أول <code>n</code> عنصر من المصفوفة ثمَّ يعيدها في مصفوفة جديدة وهذا مشابه تمامًا لاستدعاء التابع !<code>!slice</code> بالشكل <code>array</code>.[[Ruby/Array/slice! | <code>slice!</code>]]!(0, <code>n</code>)‎. ستحتوي المصفوفة الأصلية حينئذٍ العناصر المتبقية فقط دون العناصر التي أزيحت ووُضعت في المصفوفة الجديدة المُعادة.
 
إن مرِّر عدد <code>n</code> كوسيط إلى التابع <code>shift</code>، فسيحذف أول <code>n</code> عنصر من المصفوفة ثمَّ يعيدها في مصفوفة جديدة وهذا مشابه تمامًا لاستدعاء التابع [[Ruby/Array/slice! | '''<code>slice!</code>''']] بالشكل<code>array.[[Ruby/Array/slice! |slice!]](0, n)</code>‎. ستحتوي المصفوفة الأصلية حينئذٍ العناصر المتبقية فقط دون العناصر التي أزيحت ووُضعت في المصفوفة الجديدة المُعادة.
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="ruby"> shift → obj or nil
<syntaxhighlight lang="ruby"> shift → obj or nil
سطر 10: سطر 11:
  </syntaxhighlight>
  </syntaxhighlight>
==المعاملات==
==المعاملات==
<code>n</code>
 
=== <code>n</code> ===
عدد صحيح يمثل عدد العناصر الأولى المراد حذفها من المصفوفة المعطاة.
عدد صحيح يمثل عدد العناصر الأولى المراد حذفها من المصفوفة المعطاة.
==القيم المعادة==
==القيم المعادة==
سطر 31: سطر 33:
* التابع [[Ruby/Array/rotate | <code>rotate</code>]]: يعيد مصفوفة جديدة تحتوي عناصر المصفوفة التي استُدعيت معها مع إزاحة (تدوير) عناصرها ليكون العنصر ذو الفهرس الممرر إليها هو العنصر الأول في المصفوفة الجديدة.
* التابع [[Ruby/Array/rotate | <code>rotate</code>]]: يعيد مصفوفة جديدة تحتوي عناصر المصفوفة التي استُدعيت معها مع إزاحة (تدوير) عناصرها ليكون العنصر ذو الفهرس الممرر إليها هو العنصر الأول في المصفوفة الجديدة.
==مصادر==
==مصادر==
* قسم التابع shift في الصنف Array في توثيق روبي الرسمي.
* [https://ruby-doc.org/core-2.5.1/Array.html#method-i-shift قسم التابع shift في الصنف Array في توثيق روبي الرسمي.]

مراجعة 17:13، 8 سبتمبر 2018

يحذف التابع shift أول عنصر أو أول n عنصر من عناصر مصفوفة ثم يعيده أو يعيد مصفوفة تحوي العناصر المحذوفة.

إن مرِّر عدد n كوسيط إلى التابع shift، فسيحذف أول n عنصر من المصفوفة ثمَّ يعيدها في مصفوفة جديدة وهذا مشابه تمامًا لاستدعاء التابع slice!‎ بالشكل: array.slice!(0, n)‎. ستحتوي المصفوفة الأصلية حينئذٍ العناصر المتبقية فقط دون العناصر التي أزيحت ووُضعت في المصفوفة الجديدة المُعادة.

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

 shift  obj or nil
shift(n)  new_ary

المعاملات

n

عدد صحيح يمثل عدد العناصر الأولى المراد حذفها من المصفوفة المعطاة.

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

يعاد العنصر الأول المحذوف من المصفوفة المعطاة، أو تعاد مصفوفة جديدة تحوي العناصر n الأولى المحذوفة من المصفوفة، أو تعاد القيمة nil إن كانت المصفوفة فارغة.

أمثلة

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

 args = [ "-m", "-q", "filename" ]
args.shift     #=> "-m"
args           #=> ["-q", "filename"]

args = [ "-m", "-q", "filename" ]
args.shift(2)  #=> ["-m", "-q"]
args           #=> ["filename"]

انظر أيضًا

  • التابع unshift: يضيف الكائنات المُمرَّرة إليه إلى بداية المصفوفة التي استُدعيت معه مع إزاحة العناصر الأخرى إلى الأمام.
  • التابع pop: يحذف آخر عنصر أو آخر n عنصر من مصفوفة ثم يعيده أو يعيدها في مصفوفة جديدة.
  • التابع drop: يحذف التابع drop أول n عنصر من المصفوفة ويعيد بقية العناصر في مصفوفة جديدة.
  • التابع delete_at: يحذف التابع delete_at العنصر من المصفوفة الموجود عند الفهرس المحدد index. ويعيد ذلك العنصر أو القيمة nil إن كان الفهرس خارج نطاق المصفوفة.
  • التابع rotate: يعيد مصفوفة جديدة تحتوي عناصر المصفوفة التي استُدعيت معها مع إزاحة (تدوير) عناصرها ليكون العنصر ذو الفهرس الممرر إليها هو العنصر الأول في المصفوفة الجديدة.

مصادر