التابع Hash.transform_keys في روبي

من موسوعة حسوب
< Ruby‏ | Hash

يعيد التابع 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 المعطى، ويستبدل به القيمة الجديد التي تعيدها الكتلة، ثم يعيد هذا الكائن. لا يُغيّر هذا التابع المفاتيح.

مصادر