الفرق بين المراجعتين ل"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: يعيد مصفوفة جديدة تحتوي عناصر المصفوفة التي استُدعيت معها مع إزاحة (تدوير) عناصرها ليكون العنصر ذو الفهرس الممرر إليها هو العنصر الأول في المصفوفة الجديدة.

مصادر