التابع Hash.transform_keys! في روبي
يستدعي التابع transform_keys! الكتلة المعطاة مرةً واحدةً لكل مفتاح من مفاتيح الكائن Hash المعطى، ويستبدل به المفتاح الجديد الذي تعيده الكتلة، ثم يعيد هذا الكائن. لا يُغيّر هذا التابع القيم.
إذا لم تُعطَ أية كتلة، فسيُعاد كائن من النوع enumerator بدلًا من ذلك.
البنية العامة
transform_keys! {|key| block } → hsh
transform_keys! → an_enumerator
القيمة المعادة
يعاد الكائن Hash المعطى نفسه بعد تبديل مفاتيحه إلى المفاتيح التي تعيدها الكتلة block عند تمرير المفتاح القديم إليها، أو يعاد كائن من النوع 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_sym) #=> { 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مع ناتج تنفيذ الكتلة المعطاة مرةً واحدةً لكل مفتاح من مفاتيح الكائنHashالذي استدعي معه. - التابع
transform_values: يعيد كائن جديد من النوعHashمع ناتج تنفيذ الكتلة المعطاة مرةً واحدةً لكل قيمة من قيم الكائنHashالذي استدعي معه. - التابع
transform_values!: يستدعي الكتلة المعطاة مرةً واحدةً لكل قيمة من قيم الكائنHashالمعطى، ويستبدل به القيمة الجديد التي تعيدها الكتلة، ثم يعيد هذا الكائن. لا يُغيّر هذا التابع المفاتيح.