الفرق بين المراجعتين لصفحة: «Ruby/Array/shift»
أنشأ الصفحة ب'<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>! | |||
إن مرِّر عدد <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: يعيد مصفوفة جديدة تحتوي عناصر المصفوفة التي استُدعيت معها مع إزاحة (تدوير) عناصرها ليكون العنصر ذو الفهرس الممرر إليها هو العنصر الأول في المصفوفة الجديدة.