الفرق بين المراجعتين ل"Ruby/Hash/flatten"

من موسوعة حسوب
< Ruby‏ | Hash
اذهب إلى التنقل اذهب إلى البحث
(إنشاء الصفحة.)
 
ط
 
(مراجعة متوسطة واحدة بواسطة نفس المستخدم غير معروضة)
سطر 3: سطر 3:
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Hash]]
 
[[تصنيف: Ruby Hash]]
يعيد التابع <code>flatten</code> ت
+
يعيد التابع <code>flatten</code> مصفوفة جديدة والتي تكون تسطيح أحادي الأبعاد للكائن <code>[[Ruby/Hash|Hash]]</code> الذي استدعي معه. أي أنَّ لكل مفتاح أو قيمة تكون مصفوفة، تستخرج عناصرها إلى مصفوفة جديدة. على عكس <code>[[Ruby/Array/flatten|Array.flatten]]</code>، لا يُسطِّح هذا التابع بشكل عَودي (recursively) افتراضيًا. يمكن تحديد مستوى عودية التسطيح عبر تمرير قيمة إلى التابع.
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="ruby">flatten → an_array
 
<syntaxhighlight lang="ruby">flatten → an_array
 
flatten(level) → an_array</syntaxhighlight>
 
flatten(level) → an_array</syntaxhighlight>
 
==المعاملات==
 
==المعاملات==
 +
 +
=== <code>level</code> ===
 +
عدد صحيح يحدد مستوى عودية التسطيح.
  
 
==القيمة المعادة==
 
==القيمة المعادة==
تعاد  
+
تعاد مصفوفة جديدة والتي تكون تسطيح أحادي الأبعاد للكائن <code>[[Ruby/Hash|Hash]]</code> المعطى.
  
 +
== أمثلة ==
 +
مثال على استعمال التابع <code>flatten</code>:<syntaxhighlight lang="ruby">
 +
a =  {1=> "one", 2 => [2,"two"], 3 => "three"}
 +
a.flatten    # => [1, "one", 2, [2, "two"], 3, "three"]
 +
a.flatten(2) # => [1, "one", 2, 2, "two", 3, "three"]
 +
</syntaxhighlight>
 
==انظر أيضا==
 
==انظر أيضا==
*  
+
* التابع <code>[[Ruby/Hash/dig|dig]]</code>: يستخرج القيمة المتداخلة المحددة بواسطة تسلسل كائنات تمثِّل المفاتيح عن طريق استدعاء <code>dig</code> في كل خطوة، ويعيد القيمة <code>nil</code> إذا كانت أي خطوة متوسطة هي <code>nil</code>.
 +
* التابع <code>[[Ruby/Hash/fetch|fetch]]</code>: يعيد قيمة من الكائن <code>[[Ruby/Hash|Hash]]</code> لمفتاح معين.
  
 
==مصادر==
 
==مصادر==
 
*[http://ruby-doc.org/core-2.5.1/Hash.html#method-i-flatten قسم التابع flatten في الصنف Hash في توثيق روبي الرسمي.]
 
*[http://ruby-doc.org/core-2.5.1/Hash.html#method-i-flatten قسم التابع flatten في الصنف Hash في توثيق روبي الرسمي.]

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

يعيد التابع flatten مصفوفة جديدة والتي تكون تسطيح أحادي الأبعاد للكائن Hash الذي استدعي معه. أي أنَّ لكل مفتاح أو قيمة تكون مصفوفة، تستخرج عناصرها إلى مصفوفة جديدة. على عكس Array.flatten، لا يُسطِّح هذا التابع بشكل عَودي (recursively) افتراضيًا. يمكن تحديد مستوى عودية التسطيح عبر تمرير قيمة إلى التابع.

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

flatten  an_array
flatten(level)  an_array

المعاملات

level

عدد صحيح يحدد مستوى عودية التسطيح.

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

تعاد مصفوفة جديدة والتي تكون تسطيح أحادي الأبعاد للكائن Hash المعطى.

أمثلة

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

a =  {1=> "one", 2 => [2,"two"], 3 => "three"}
a.flatten    # => [1, "one", 2, [2, "two"], 3, "three"]
a.flatten(2) # => [1, "one", 2, 2, "two", 3, "three"]

انظر أيضا

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

مصادر