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

من موسوعة حسوب
< Ruby‏ | Array
لا ملخص تعديل
ط مراجعة وتدقيق.
 
سطر 5: سطر 5:
يحذف التابع <code>shift</code> أول عنصر أو أول <code>n</code> عنصر من عناصر مصفوفة ثم يعيده أو يعيد مصفوفة تحوي العناصر المحذوفة.
يحذف التابع <code>shift</code> أول عنصر أو أول <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>‎. ستحتوي المصفوفة الأصلية حينئذٍ العناصر المتبقية فقط دون العناصر التي أزيحت ووُضعت في المصفوفة الجديدة المُعادة.
إن مرِّر عدد <code>n</code> كوسيط إلى التابع <code>shift</code>، فسيحذف أول <code>n</code> عنصر من المصفوفة ثمَّ يعيدها في مصفوفة جديدة وهذا مشابه تمامًا لاستدعاء التابع<nowiki/>[[Ruby/Array/slice! | '''<code>slice!‎</code>''']] بالشكل: [[Ruby/Array/slice! |<code>array.slice!(0, n)</code>‎]]. ستحتوي المصفوفة الأصلية حينئذٍ العناصر المتبقية فقط دون العناصر التي أزيحت ووُضعت في المصفوفة الجديدة المُعادة.
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="ruby"> shift → obj or nil
<syntaxhighlight lang="ruby">shift → obj or nil
shift(n) → new_ary
shift(n) → new_ary
  </syntaxhighlight>
  </syntaxhighlight>
سطر 18: سطر 18:
==أمثلة==
==أمثلة==
أمثلة على استخدام التابع <code>shift</code>:
أمثلة على استخدام التابع <code>shift</code>:
<syntaxhighlight lang="ruby"> args = [ "-m", "-q", "filename" ]
<syntaxhighlight lang="ruby">args = [ "-m", "-q", "filename" ]
args.shift    #=> "-m"
args.shift    #=> "-m"
args          #=> ["-q", "filename"]
args          #=> ["-q", "filename"]
سطر 27: سطر 27:
  </syntaxhighlight>
  </syntaxhighlight>
==انظر أيضًا==
==انظر أيضًا==
* التابع [[Ruby/Array/unshift | <code>unshift</code>]]: يضيف الكائنات المُمرَّرة إليه إلى بداية المصفوفة التي استُدعيت معه مع إزاحة العناصر الأخرى إلى الأمام.
* التابع<nowiki/>[[Ruby/Array/unshift | <code>unshift</code>]]: يضيف الكائنات المُمرَّرة إليه إلى بداية المصفوفة التي استُدعيت معه مع إزاحة العناصر الأخرى إلى الأمام.
* التابع [[Ruby/Array/pop | <code>pop</code>]]: يحذف آخر عنصر أو آخر <code>n</code> عنصر من مصفوفة ثم يعيده أو يعيدها في مصفوفة جديدة.
* التابع<nowiki/>[[Ruby/Array/pop | <code>pop</code>]]: يحذف آخر عنصر أو آخر <code>n</code> عنصر من مصفوفة ثم يعيده أو يعيدها في مصفوفة جديدة.
* التابع [[Ruby/Array/drop | <code>drop</code>]]: يحذف التابع [[Ruby/Array/drop | <code>drop</code>]] أول <code>n</code> عنصر من المصفوفة ويعيد بقية العناصر في مصفوفة جديدة.
* التابع<nowiki/>[[Ruby/Array/drop | <code>drop</code>]]: يحذف أول <code>n</code> عنصر من المصفوفة ويعيد بقية العناصر في مصفوفة جديدة.
* التابع [[Ruby/Array/delete_at | <code>delete_at</code>]]: يحذف التابع [[Ruby/Array/delete_at | <code>delete_at</code>]] العنصر من المصفوفة الموجود عند الفهرس المحدد [[Ruby/Array/index | <code>index</code>]]. ويعيد ذلك العنصر أو القيمة <code>nil</code> إن كان الفهرس خارج نطاق المصفوفة.
* التابع<nowiki/>[[Ruby/Array/delete_at | <code>delete_at</code>]]: يحذف العنصر من المصفوفة الموجود عند الفهرس المحدد [[Ruby/Array/index | <code>index</code>]].  
* التابع [[Ruby/Array/rotate | <code>rotate</code>]]: يعيد مصفوفة جديدة تحتوي عناصر المصفوفة التي استُدعيت معها مع إزاحة (تدوير) عناصرها ليكون العنصر ذو الفهرس الممرر إليها هو العنصر الأول في المصفوفة الجديدة.
* التابع<nowiki/>[[Ruby/Array/rotate | <code>rotate</code>]]: يعيد مصفوفة جديدة تحتوي عناصر المصفوفة التي استُدعيت معها مع إزاحة (تدوير) عناصرها ليكون العنصر ذو الفهرس الممرر إليها هو العنصر الأول في المصفوفة الجديدة.
==مصادر==
==مصادر==
* [https://ruby-doc.org/core-2.5.1/Array.html#method-i-shift قسم التابع shift في الصنف Array في توثيق روبي الرسمي.]
* [https://ruby-doc.org/core-2.5.1/Array.html#method-i-shift قسم التابع shift في الصنف Array في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 10:01، 3 أكتوبر 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: يحذف أول n عنصر من المصفوفة ويعيد بقية العناصر في مصفوفة جديدة.
  • التابع delete_at: يحذف العنصر من المصفوفة الموجود عند الفهرس المحدد index.
  • التابع rotate: يعيد مصفوفة جديدة تحتوي عناصر المصفوفة التي استُدعيت معها مع إزاحة (تدوير) عناصرها ليكون العنصر ذو الفهرس الممرر إليها هو العنصر الأول في المصفوفة الجديدة.

مصادر