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

من موسوعة حسوب
< Ruby‏ | Array
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>Array.slice</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby Method تصنيف: Ruby Array...'
 
ط مراجعة وتدقيق.
 
(مراجعتان متوسطتان بواسطة مستخدمين اثنين آخرين غير معروضتين)
سطر 4: سطر 4:
[[تصنيف: Ruby Array]]
[[تصنيف: Ruby Array]]
يجلب التابع <code>slice</code> عنصرًا ذي فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من مصفوفة.
يجلب التابع <code>slice</code> عنصرًا ذي فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من مصفوفة.
إن مُرِّرت قيم سالبة للفهارس، فسيُحسَب موضع العنصر بدءًا من نهاية المصفوفة، إذ تمثل القيمة ‎-1 فهرس العنصر الأخير.
 
إن مُرِّرت قيم سالبة للفهارس، فسيُحسَب موضع العنصر بدءًا من نهاية المصفوفة، إذ تمثل القيمة ‎<code>-1</code> فهرس العنصر الأخير.
 
ستُعاد مصفوفة فارغة في حال كان فهرس بداية المجال المحدد يقع عند نهاية المصفوفة.
ستُعاد مصفوفة فارغة في حال كان فهرس بداية المجال المحدد يقع عند نهاية المصفوفة.
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="ruby"> slice(index) → obj or nil
<syntaxhighlight lang="ruby">slice(index) → obj or nil
slice(start, length) → new_ary or nil
slice(start, length) → new_ary or nil
slice(range) → new_ary or nil
slice(range) → new_ary or nil
  </syntaxhighlight>
  </syntaxhighlight>
==المعاملات==
==المعاملات==
[[Ruby/Array/index | <code>index</code>]]
 
=== <code>index</code> ===
عدد صحيح يمثل فهرس العنصر المراد اقتطاعه من المصفوفة المعطاة.
عدد صحيح يمثل فهرس العنصر المراد اقتطاعه من المصفوفة المعطاة.
<code>start</code>
 
=== <code>start</code> ===
عدد صحيح يمثل فهرس البداية للعناصر المراد اقتطاعها من المصفوفة المعطاة.
عدد صحيح يمثل فهرس البداية للعناصر المراد اقتطاعها من المصفوفة المعطاة.
[[Ruby/Array/length | <code>length</code>]]
 
=== <code>length</code> ===
عدد صحيح يمثل طول العناصر المراد اقتطاعها من المصفوفة المعطاة.
عدد صحيح يمثل طول العناصر المراد اقتطاعها من المصفوفة المعطاة.
<code>range</code>
 
=== <code>range</code> ===
مجال يحدد فهرس البداية وفهرس النهاية لمجال العناصر المراد اقتطاعها من المصفوفة المعطاة.
مجال يحدد فهرس البداية وفهرس النهاية لمجال العناصر المراد اقتطاعها من المصفوفة المعطاة.
==القيم المعادة==
==القيم المعادة==
يعاد العنصر ذو الفهرس [[Ruby/Array/index | <code>index</code>]]، أو مصفوفة جديدة تحوي العناصر المحددة بعنصر البداية ذي الفهرس <code>start</code> وبطول [[Ruby/Array/length | <code>length</code>]] أو المحددة بالمجال <code>range</code>، أو تعاد القمية <code>nil</code> إن كان إن كان الفهرس [[Ruby/Array/index | <code>index</code>]] أو فهرس البداية <code>start</code> يقع خارج نطاق المصفوفة.
يعاد العنصر ذو الفهرس <code>index</code>، أو مصفوفة جديدة تحوي العناصر المحددة بعنصر البداية ذي الفهرس <code>start</code> وبطول <code>length</code> أو المحددة بالمجال <code>range</code>، أو تعاد القمية <code>nil</code> إن كان إن كان الفهرس <code>index</code> أو فهرس البداية <code>start</code> يقع خارج نطاق المصفوفة.
==أمثلة==
==أمثلة==
بعض الأمثلة لاستخدام  التابع <code>slice</code>:
بعض الأمثلة لاستخدام  التابع <code>slice</code>:
<syntaxhighlight lang="ruby"> a = [ "a", "b", "c", "d", "e" ]
<syntaxhighlight lang="ruby">a = [ "a", "b", "c", "d", "e" ]
a[2] +  a[0] + a[1]    #=> "cab"
a[2] +  a[0] + a[1]    #=> "cab"
a[6]                  #=> nil
a[6]                  #=> nil
سطر 39: سطر 45:
  </syntaxhighlight>
  </syntaxhighlight>
==انظر أيضًا==
==انظر أيضًا==
* التابع [[Ruby/Array/slice! | <code>slice!</code>]]!‎: يقتطع‎ عنصرًا ذي فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من المصفوفة التي استدعيت معه.
* التابع<nowiki/>[[Ruby/Array/slice! | <code>slice!</code>]]: يقتطع‎ عنصرًا ذي فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من المصفوفة التي استدعيت معه.
* التابع [[Ruby/Array/at | <code>at</code>]]: يجلب عنصرًا ذي فهرس محدد من المصفوفة المستدعاة معه.
* التابع<nowiki/>[[Ruby/Array/at | <code>at</code>]]: يجلب عنصرًا ذي فهرس محدد من المصفوفة المستدعاة معه.
* التابع [[Ruby/Array/values_at | <code>values_at</code>]]: يجلب عنصرًا واحدًا أو أكثر ذي فهرس محدد من مصفوفة.  
* التابع<nowiki/>[[Ruby/Array/values_at | <code>values_at</code>]]: يجلب عنصرًا واحدًا أو أكثر ذي فهرس محدد من مصفوفة.  
* التابع [[Ruby/Array/select | <code>select</code>]]: يحدد جميع عناصر المصفوفة المحققة لشرط معين ويضعها في مصفوفة جديدة.
* التابع<nowiki/>[[Ruby/Array/select | <code>select</code>]]: يحدد جميع عناصر المصفوفة المحققة لشرط معين ويضعها في مصفوفة جديدة.
* المعامل []: يجلب عنصرًا ذي فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من مصفوفة.
* المعامل <code>[[Ruby/Array/index operator|[]]]</code>: يجلب عنصرًا ذي فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من مصفوفة.
==مصادر==
==مصادر==
* قسم التابع slice في الصنف Array في توثيق روبي الرسمي.
* [https://ruby-doc.org/core-2.5.1/Array.html#method-i-slice قسم التابع slice في الصنف Array في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 10:04، 3 أكتوبر 2018

يجلب التابع slice عنصرًا ذي فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من مصفوفة.

إن مُرِّرت قيم سالبة للفهارس، فسيُحسَب موضع العنصر بدءًا من نهاية المصفوفة، إذ تمثل القيمة ‎-1 فهرس العنصر الأخير.

ستُعاد مصفوفة فارغة في حال كان فهرس بداية المجال المحدد يقع عند نهاية المصفوفة.

البنية العامة

slice(index)  obj or nil
slice(start, length)  new_ary or nil
slice(range)  new_ary or nil

المعاملات

index

عدد صحيح يمثل فهرس العنصر المراد اقتطاعه من المصفوفة المعطاة.

start

عدد صحيح يمثل فهرس البداية للعناصر المراد اقتطاعها من المصفوفة المعطاة.

length

عدد صحيح يمثل طول العناصر المراد اقتطاعها من المصفوفة المعطاة.

range

مجال يحدد فهرس البداية وفهرس النهاية لمجال العناصر المراد اقتطاعها من المصفوفة المعطاة.

القيم المعادة

يعاد العنصر ذو الفهرس index، أو مصفوفة جديدة تحوي العناصر المحددة بعنصر البداية ذي الفهرس start وبطول length أو المحددة بالمجال range، أو تعاد القمية nil إن كان إن كان الفهرس index أو فهرس البداية start يقع خارج نطاق المصفوفة.

أمثلة

بعض الأمثلة لاستخدام التابع slice:

a = [ "a", "b", "c", "d", "e" ]
a[2] +  a[0] + a[1]    #=> "cab"
a[6]                   #=> nil
a[1, 2]                #=> [ "b", "c" ]
a[1..3]                #=> [ "b", "c", "d" ]
a[4..7]                #=> [ "e" ]
a[6..10]               #=> nil
a[-3, 3]               #=> [ "c", "d", "e" ]
# حالات خاصة
a[5]                   #=> nil
a[6, 1]                #=> nil
a[5, 1]                #=> []
a[5..10]               #=> []

انظر أيضًا

  • التابع slice!‎: يقتطع‎ عنصرًا ذي فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من المصفوفة التي استدعيت معه.
  • التابع at: يجلب عنصرًا ذي فهرس محدد من المصفوفة المستدعاة معه.
  • التابع values_at: يجلب عنصرًا واحدًا أو أكثر ذي فهرس محدد من مصفوفة.
  • التابع select: يحدد جميع عناصر المصفوفة المحققة لشرط معين ويضعها في مصفوفة جديدة.
  • المعامل []: يجلب عنصرًا ذي فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من مصفوفة.

مصادر