الفرق بين المراجعتين لصفحة: «Ruby/Array/shift»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق. |
||
سطر 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>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> عنصر من مصفوفة ثم يعيده أو يعيدها في مصفوفة جديدة. | ||
* التابع | * التابع<nowiki/>[[Ruby/Array/drop | <code>drop</code>]]: يحذف أول <code>n</code> عنصر من المصفوفة ويعيد بقية العناصر في مصفوفة جديدة. | ||
* التابع | * التابع<nowiki/>[[Ruby/Array/delete_at | <code>delete_at</code>]]: يحذف العنصر من المصفوفة الموجود عند الفهرس المحدد [[Ruby/Array/index | <code>index</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
: يعيد مصفوفة جديدة تحتوي عناصر المصفوفة التي استُدعيت معها مع إزاحة (تدوير) عناصرها ليكون العنصر ذو الفهرس الممرر إليها هو العنصر الأول في المصفوفة الجديدة.