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

من موسوعة حسوب
< Ruby‏ | Struct
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>dig‎</code> الخاص بالصنف <code>Struct</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف:...')
 
سطر 3: سطر 3:
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Struct]]
 
[[تصنيف: Ruby Struct]]
يستخلص التابع <code>dig</code> القيمة المتشعبة (nested) المحددة بواسطة تسلسل الكائنات <code>key</code> (انظر فقرة البنية العامة) عن طريق استدعاء <code>dig</code> في كل خطوة، ويُعيد <code>nil</code> إن كانت قيمة أي خطوة وسطية تساوي <code>nil</code>.
+
يستخلص التابع <code>dig</code> القيمة المتشعبة (nested) المحددة بواسطة سلسلة الكائنات <code>key</code> (انظر فقرة البنية العامة) عن طريق استدعاء التابع <code>dig</code> في كل خطوة، ويُعيد <code>nil</code> إن كانت قيمة أي خطوة وسطية تساوي <code>nil</code>.
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="ruby">dig(key, ...)  → object‎</syntaxhighlight>
 
<syntaxhighlight lang="ruby">dig(key, ...)  → object‎</syntaxhighlight>
 
==المعاملات==
 
==المعاملات==
 
===<code>key‎</code>===
 
===<code>key‎</code>===
===<code>...‎</code>===
+
كائن.
 +
 
 
==القيمة المُعادة==
 
==القيمة المُعادة==
 +
يعيد التابع <code>dig</code> القيمة المتشعبة (nested) المحددة بواسطة سلسلة الكائنات <code>key</code>، أو يُعيد <code>nil</code> إن كانت قيمة أي خطوة وسطية تساوي <code>nil</code>.
 +
 
==أمثلة==
 
==أمثلة==
 
مثال على استخدام التابع <code>dig‎</code>:
 
مثال على استخدام التابع <code>dig‎</code>:
سطر 18: سطر 21:
 
f.dig(:a, :a, :b, :c)  # TypeError: no implicit conversion of Symbol into Integer‎</syntaxhighlight>
 
f.dig(:a, :a, :b, :c)  # TypeError: no implicit conversion of Symbol into Integer‎</syntaxhighlight>
 
==انظر أيضا==
 
==انظر أيضا==
* التابع <code>[[Ruby/Struct/index_operator-3D|[]=]]</code>: معامل التعيين - يضبط قيمة عضو ال[[Ruby/Struct|بنية]] المعطى <code>member</code> (انظر فقرة البنية العامة)، أو العضو الموجود عند الفهرس <code>index</code>.  يطلق الاستثناء <code>[[Ruby/NameError|NameError]]</code> إن كان <code>member</code> غير موجود، أو الاستثناء <code>[[Ruby/IndexError|IndexError]]</code> إن كان <code>index</code> خارج النطاق.
+
* التابع <code>[[Ruby/Struct/each|each]]</code>: يعيد التابع <code>dig</code> قيمة كل عضو من أعضاء ال[[Ruby/Struct|بنية]] بالترتيب.  
* التابع <code>[[Ruby/Struct/each|each]]</code>: يعيد التابع <code>dig</code> قيمة كل عضو من أعضاء ال[[Ruby/Struct|بنية]] بالترتيب.  في حال لم تُعطى أي كتلة، فسيُعاد كائن من الصنف Enumerator بدلاً من ذلك.
 
 
==مصادر==
 
==مصادر==
 
*[http://ruby-doc.org/core-2.5.1/Struct.html#method-i-dig قسم  التابع dig‎ في الصنف Struct‎ في توثيق روبي الرسمي.]
 
*[http://ruby-doc.org/core-2.5.1/Struct.html#method-i-dig قسم  التابع dig‎ في الصنف Struct‎ في توثيق روبي الرسمي.]

مراجعة 14:09، 4 نوفمبر 2018

يستخلص التابع dig القيمة المتشعبة (nested) المحددة بواسطة سلسلة الكائنات key (انظر فقرة البنية العامة) عن طريق استدعاء التابع dig في كل خطوة، ويُعيد nil إن كانت قيمة أي خطوة وسطية تساوي nil.

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

dig(key, ...)   object

المعاملات

key‎

كائن.

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

يعيد التابع dig القيمة المتشعبة (nested) المحددة بواسطة سلسلة الكائنات key، أو يُعيد nil إن كانت قيمة أي خطوة وسطية تساوي nil.

أمثلة

مثال على استخدام التابع dig‎:

Foo = Struct.new(:a)
f = Foo.new(Foo.new({b: [1, 2, 3]}))
f.dig(:a, :a, :b, 0)    # => 1
f.dig(:b, 0)            # => nil
f.dig(:a, :a, :b, :c)   # TypeError: no implicit conversion of Symbol into Integer‎

انظر أيضا

  • التابع each: يعيد التابع dig قيمة كل عضو من أعضاء البنية بالترتيب.

مصادر