الفرق بين المراجعتين لصفحة: «Ruby/Hash/transform keys»
جميل-بيلوني (نقاش | مساهمات) إنشاء الصفحة. |
جميل-بيلوني (نقاش | مساهمات) إضافة محتويات الصفحة. |
||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Hash]] | [[تصنيف: Ruby Hash]] | ||
يعيد التابع <code>transform_keys</code> | يعيد التابع <code>transform_keys</code> كائن جديد من النوع <code>[[Ruby/Hash|Hash]]</code> مع ناتج تنفيذ الكتلة المعطاة مرةً واحدةً لكل مفتاح من مفاتيح الكائن <code>[[Ruby/Hash|Hash]]</code> الذي استدعي معه. لا يُغيّر هذا التابع القيم المرتبطة بالمفاتيح. | ||
إذا لم تُعطَ أية كتلة، فسيُعاد كائن من النوع <code>[[Ruby/Enumerator|enumerator]]</code> بدلًا من ذلك. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">transform_keys {|key| block } → new_hash | <syntaxhighlight lang="ruby">transform_keys {|key| block } → new_hash | ||
transform_keys → an_enumerator</syntaxhighlight> | transform_keys → an_enumerator</syntaxhighlight> | ||
==القيمة المعادة== | ==القيمة المعادة== | ||
يعاد كائن جديد من النوع <code>[[Ruby/Hash|Hash]]</code> مع ناتج تنفيذ الكتلة المعطاة مرةً واحدةً لكل مفتاح من مفاتيح الكائن <code>[[Ruby/Hash|Hash]]</code> المعطى، أو يعاد كائن من النوع <code>[[Ruby/Enumerator|enumerator]]</code> إن لم تُعطَ أية كتلة. | |||
== أمثلة == | |||
مثال على استعمال التابع <code>transform_keys</code>:<syntaxhighlight lang="ruby"> | |||
h = { a: 1, b: 2, c: 3 } | |||
h.transform_keys {|k| k.to_s } #=> { "a" => 1, "b" => 2, "c" => 3 } | |||
h.transform_keys(&:to_s) #=> { "a" => 1, "b" => 2, "c" => 3 } | |||
h.transform_keys.with_index {|k, i| "#{k}.#{i}" } | |||
#=> { "a.0" => 1, "b.1" => 2, "c.2" => 3 } | |||
</syntaxhighlight> | |||
==انظر أيضا== | ==انظر أيضا== | ||
* | * التابع <code>[[Ruby/Hash/transform keys!|transform_keys!]]</code>: يستدعي الكتلة المعطاة مرةً واحدةً لكل مفتاح من مفاتيح الكائن [[Ruby/Hash|<code>Hash</code>]] المعطى، ويستبدل به المفتاح الجديد الذي تعيده الكتلة، ثم يعيد هذا الكائن. | ||
* التابع <code>[[Ruby/Hash/transform values|transform_values]]</code>: يعيد كائن جديد من النوع <code>[[Ruby/Hash|Hash]]</code> مع ناتج تنفيذ الكتلة المعطاة مرةً واحدةً لكل قيمة من قيم الكائن <code>[[Ruby/Hash|Hash]]</code> الذي استدعي معه. | |||
* التابع <code>[[Ruby/Hash/transform values!|transform_values!]]</code>: يستدعي الكتلة المعطاة مرةً واحدةً لكل قيمة من قيم الكائن [[Ruby/Hash|<code>Hash</code>]] المعطى، ويستبدل به القيمة الجديد التي تعيدها الكتلة، ثم يعيد هذا الكائن. لا يُغيّر هذا التابع المفاتيح. | |||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/Hash.html#method-i-transform_keys قسم التابع transform_keys في الصنف Hash في توثيق روبي الرسمي.] | *[http://ruby-doc.org/core-2.5.1/Hash.html#method-i-transform_keys قسم التابع transform_keys في الصنف Hash في توثيق روبي الرسمي.] |
المراجعة الحالية بتاريخ 18:32، 26 نوفمبر 2018
يعيد التابع transform_keys
كائن جديد من النوع Hash
مع ناتج تنفيذ الكتلة المعطاة مرةً واحدةً لكل مفتاح من مفاتيح الكائن Hash
الذي استدعي معه. لا يُغيّر هذا التابع القيم المرتبطة بالمفاتيح.
إذا لم تُعطَ أية كتلة، فسيُعاد كائن من النوع enumerator
بدلًا من ذلك.
البنية العامة
transform_keys {|key| block } → new_hash
transform_keys → an_enumerator
القيمة المعادة
يعاد كائن جديد من النوع Hash
مع ناتج تنفيذ الكتلة المعطاة مرةً واحدةً لكل مفتاح من مفاتيح الكائن Hash
المعطى، أو يعاد كائن من النوع enumerator
إن لم تُعطَ أية كتلة.
أمثلة
مثال على استعمال التابع transform_keys
:
h = { a: 1, b: 2, c: 3 }
h.transform_keys {|k| k.to_s } #=> { "a" => 1, "b" => 2, "c" => 3 }
h.transform_keys(&:to_s) #=> { "a" => 1, "b" => 2, "c" => 3 }
h.transform_keys.with_index {|k, i| "#{k}.#{i}" }
#=> { "a.0" => 1, "b.1" => 2, "c.2" => 3 }
انظر أيضا
- التابع
transform_keys!
: يستدعي الكتلة المعطاة مرةً واحدةً لكل مفتاح من مفاتيح الكائنHash
المعطى، ويستبدل به المفتاح الجديد الذي تعيده الكتلة، ثم يعيد هذا الكائن. - التابع
transform_values
: يعيد كائن جديد من النوعHash
مع ناتج تنفيذ الكتلة المعطاة مرةً واحدةً لكل قيمة من قيم الكائنHash
الذي استدعي معه. - التابع
transform_values!
: يستدعي الكتلة المعطاة مرةً واحدةً لكل قيمة من قيم الكائنHash
المعطى، ويستبدل به القيمة الجديد التي تعيدها الكتلة، ثم يعيد هذا الكائن. لا يُغيّر هذا التابع المفاتيح.