التابع Array.shift في روبي

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

مصادر