الفرق بين المراجعتين ل"Ruby/Hash/flatten"
اذهب إلى التنقل
اذهب إلى البحث
جميل-بيلوني (نقاش | مساهمات) (إنشاء الصفحة.) |
جميل-بيلوني (نقاش | مساهمات) (إضافة محتويات الصفحة.) |
||
سطر 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/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:19، 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"]