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

من موسوعة حسوب
< Ruby‏ | Hash
إنشاء الصفحة.
 
إضافة محتويات الصفحة.
 
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:التابع <code>Hash.delete_if</code> في روبي}}</noinclude>
<noinclude>{{DISPLAYTITLE:التابع <code>Hash.dig</code> في روبي}}</noinclude>
[[تصنيف: Ruby]]
[[تصنيف: Ruby]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Hash]]
[[تصنيف: Ruby Hash]]
يعيد التابع <code>delete_if</code> ت
يستخرج التابع <code>dig</code> القيمة المتداخلة المحددة بواسطة تسلسل كائنات تمثِّل المفاتيح عن طريق استدعاء <code>dig</code> في كل خطوة، ويعيد القيمة <code>nil</code> إذا كانت أي خطوة متوسطة هي <code>nil</code>.
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="ruby">delete_if {| key, value | block } hsh
<syntaxhighlight lang="ruby">dig(key, ...) object</syntaxhighlight>
delete_if → an_enumerator</syntaxhighlight>
==المعاملات==
==المعاملات==
=== <code>key</code> ===
المفتاح المتشعب المراد استخراج قيمته.
=== <code>...</code> ===
سلسلة  من المفاتيح المتشعبة.


==القيمة المعادة==
==القيمة المعادة==
تعاد  
تعاد القيمة المرتبطة بالمفتاح <code>key</code> أو سلسلة المفاتيح <code>...</code> المتشعبة.


== أمثلة ==
مثال على استعمال التابع <code>dig</code>:<syntaxhighlight lang="ruby">
h = { foo: {bar: {baz: 1}}}
h.dig(:foo, :bar, :baz)    #=> 1
h.dig(:foo, :zot, :xyz)    #=> nil
g = { foo: [10, 11, 12] }
g.dig(:foo, 1)              #=> 11
g.dig(:foo, 1, 0)          #=> TypeError: Integer does not have #dig method
g.dig(:foo, :bar)          #=> TypeError: no implicit conversion of Symbol into Integer
</syntaxhighlight>
==انظر أيضا==
==انظر أيضا==
*  
* التابع <code>[[Ruby/Hash/flatten|flatten]]</code>: يعيد مصفوفة جديدة والتي تكون تسطيح أحادي الأبعاد للكائن <code>[[Ruby/Hash|Hash]]</code> الذي استدعي معه.
 
==مصادر==
==مصادر==
*[http://ruby-doc.org/core-2.5.1/Hash.html#method-i-delete_if قسم التابع delete_if في الصنف Hash في توثيق روبي الرسمي.]
*[http://ruby-doc.org/core-2.5.1/Hash.html#method-i-dig قسم التابع dig في الصنف Hash في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 13:29، 26 نوفمبر 2018

يستخرج التابع dig القيمة المتداخلة المحددة بواسطة تسلسل كائنات تمثِّل المفاتيح عن طريق استدعاء dig في كل خطوة، ويعيد القيمة nil إذا كانت أي خطوة متوسطة هي nil.

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

dig(key, ...)  object

المعاملات

key

المفتاح المتشعب المراد استخراج قيمته.

...

سلسلة من المفاتيح المتشعبة.

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

تعاد القيمة المرتبطة بالمفتاح key أو سلسلة المفاتيح ... المتشعبة.

أمثلة

مثال على استعمال التابع dig:

h = { foo: {bar: {baz: 1}}}

h.dig(:foo, :bar, :baz)     #=> 1
h.dig(:foo, :zot, :xyz)     #=> nil

g = { foo: [10, 11, 12] }
g.dig(:foo, 1)              #=> 11
g.dig(:foo, 1, 0)           #=> TypeError: Integer does not have #dig method
g.dig(:foo, :bar)           #=> TypeError: no implicit conversion of Symbol into Integer

انظر أيضا

  • التابع flatten: يعيد مصفوفة جديدة والتي تكون تسطيح أحادي الأبعاد للكائن Hash الذي استدعي معه.

مصادر