الفرق بين المراجعتين ل"Ruby/Array/dig"

من موسوعة حسوب
< Ruby‏ | Array
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>Array.dig</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby Method تصنيف: Ruby Array...')
 
ط
 
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة)
سطر 3: سطر 3:
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Array]]
 
[[تصنيف: Ruby Array]]
يستخرج التابع <code>dig</code> العنصر المتشعِّب (<code>nested</code> <code>value</code>) المحدَّد بسلسلة المعاملات الممرَّرة إليه من مصفوفة متعددة الأبعاد وذلك عبر استدعاء <code>dig</code> عند كل مستوى تشعب.
+
يستخرج التابع <code>dig</code> العنصر المتشعِّب (nested value) المحدَّد بسلسلة المعاملات الممرَّرة إليه من مصفوفة متعددة الأبعاد وذلك عبر استدعاء <code>dig</code> عند كل مستوى تشعب.
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="ruby"> dig(idx, ...) → object
 
<syntaxhighlight lang="ruby"> dig(idx, ...) → object
 
  </syntaxhighlight>
 
  </syntaxhighlight>
 
==المعاملات==
 
==المعاملات==
<code>idx</code>[<code>a</code>][<code>b</code>][<code>c</code>]
+
 
 +
=== <code>idx</code> ===
 
عدد صحيح يمثل فهرسًا يشير إلى عنصر محدد (مصفوفة فرعية) من المصفوفة الخارجية.
 
عدد صحيح يمثل فهرسًا يشير إلى عنصر محدد (مصفوفة فرعية) من المصفوفة الخارجية.
+
 
 +
=== <code></code> ===
 
أعداد صحيحة يشير أول عدد منها إلى عنصر محدد (قد يكون مصفوفة فرعية) من المصفوفة الفرعية التي حدِّدت عبر المعامل <code>idx</code>، وثاني عدد منها إلى عنصر محدد من المصفوفة الفرعية التي حدِّدت عبر العدد السابق، وهكذا حتى يُحدَّد العنصر المراد جلبه والموجود ضمن تلك المصفوفات المتشعبة.
 
أعداد صحيحة يشير أول عدد منها إلى عنصر محدد (قد يكون مصفوفة فرعية) من المصفوفة الفرعية التي حدِّدت عبر المعامل <code>idx</code>، وثاني عدد منها إلى عنصر محدد من المصفوفة الفرعية التي حدِّدت عبر العدد السابق، وهكذا حتى يُحدَّد العنصر المراد جلبه والموجود ضمن تلك المصفوفات المتشعبة.
 
==القيم المعادة==
 
==القيم المعادة==
يعاد كائن يمثِّل العنصر المتشعِّب (<code>nested</code> <code>value</code>) المحدَّد بسلسلة الوسائط <code>idx</code> الممرَّرة، أو تعاد القيمة <code>nil</code> إن أعطى أي مستوى وسطي (<code>intermediate</code> <code>step</code>) القيمة <code>nil</code>.
+
يعاد كائن يمثِّل العنصر المتشعِّب (nested value) المحدَّد بسلسلة الوسائط <code>idx</code> الممرَّرة، أو تعاد القيمة <code>nil</code> إن أعطى أي مستوى وسطي (intermediate step) القيمة <code>nil</code>.
 
==أمثلة==
 
==أمثلة==
 
بعض الأمثلة على استخدام  التابع <code>dig</code>:
 
بعض الأمثلة على استخدام  التابع <code>dig</code>:
سطر 24: سطر 26:
 
  </syntaxhighlight>
 
  </syntaxhighlight>
 
==انظر أيضًا==
 
==انظر أيضًا==
* التابع [[Ruby/Array/at | <code>at</code>]]: يجلب عنصرًا ذي فهرس محدد من المصفوفة المستدعاة معه.
+
* التابع<nowiki/>[[Ruby/Array/at | <code>at</code>]]: يجلب عنصرًا ذي فهرس محدد من المصفوفة المستدعاة معه.
* التابع [[Ruby/Array/flatten | <code>flatten</code>]]: يجعل المصفوفة التي تحوي عناصر متشعبة ضمنها مصفوفةً أحادية البعد بشكل تعاودي (<code>recursively</code>)
+
* التابع<nowiki/>[[Ruby/Array/flatten | <code>flatten</code>]]: يجعل المصفوفة التي تحوي عناصر متشعبة ضمنها مصفوفةً أحادية البعد بشكل تعاودي (recursively).
* معامل الفهرسة []: يجلب عنصرًا ذي فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من مصفوفة.
+
* معامل الفهرسة <code>[[Ruby/Array/index operator|[]]]</code>: يجلب عنصرًا ذي فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من مصفوفة.
 
==مصادر==
 
==مصادر==
* قسم التابع dig في الصنف Array في توثيق روبي الرسمي.
+
* [https://ruby-doc.org/core-2.5.1/Array.html#method-i-dig قسم التابع dig في الصنف Array في توثيق روبي الرسمي.]
[a]صراحةً، لم أفهم مبدأ عمل هذا التابع مطلقًا، لذا لن أتمكن من شرحه المعامل بشكل ملائم. أرجو منك أن تشرحه أنت إذا سمحت.
 
+abdallatif.ey@gmail.com
 
_تم التعيين إلى Abd Allatif_
 
[b]لتكن لديك مصفوفة متعددة الأبعاد (أي مصفوفة داخل مصفوفة)، يستخدم التابع dig للحصول على قيمة واحدة من مصفوفة متعددة الأبعاد.
 
أول وسيط هو فهرس يدل على عنصر من عناصر المصفوفة الخارجية، وثاني وسيط هو فهرس يدل على عنصر من عناصر المصفوفة الثانية وهكذا.
 
أي
 
dig (x, y, z) = [x][y][z]
 
والله أعلم
 
[c]أسأل الله أن أكون قد وُفقت في شرحه.
 

المراجعة الحالية بتاريخ 07:07، 2 أكتوبر 2018

يستخرج التابع dig العنصر المتشعِّب (nested value) المحدَّد بسلسلة المعاملات الممرَّرة إليه من مصفوفة متعددة الأبعاد وذلك عبر استدعاء dig عند كل مستوى تشعب.

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

 dig(idx, ...)  object

المعاملات

idx

عدد صحيح يمثل فهرسًا يشير إلى عنصر محدد (مصفوفة فرعية) من المصفوفة الخارجية.

أعداد صحيحة يشير أول عدد منها إلى عنصر محدد (قد يكون مصفوفة فرعية) من المصفوفة الفرعية التي حدِّدت عبر المعامل idx، وثاني عدد منها إلى عنصر محدد من المصفوفة الفرعية التي حدِّدت عبر العدد السابق، وهكذا حتى يُحدَّد العنصر المراد جلبه والموجود ضمن تلك المصفوفات المتشعبة.

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

يعاد كائن يمثِّل العنصر المتشعِّب (nested value) المحدَّد بسلسلة الوسائط idx الممرَّرة، أو تعاد القيمة nil إن أعطى أي مستوى وسطي (intermediate step) القيمة nil.

أمثلة

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

 a = [[1, [2, 3]]]

a.dig(0, 1, 1)                    #=> 3
a.dig(1, 2, 3)                    #=> nil
a.dig(0, 0, 0)                    #=> TypeError: Integer does not have #dig method
[42, {foo: :bar}].dig(1, :foo)    #=> :bar

انظر أيضًا

  • التابع at: يجلب عنصرًا ذي فهرس محدد من المصفوفة المستدعاة معه.
  • التابع flatten: يجعل المصفوفة التي تحوي عناصر متشعبة ضمنها مصفوفةً أحادية البعد بشكل تعاودي (recursively).
  • معامل الفهرسة []: يجلب عنصرًا ذي فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من مصفوفة.

مصادر