التابع Hash.transform_values!
في روبي
يستدعي التابع transform_values!
الكتلة المعطاة مرةً واحدةً لكل قيمة من قيم الكائن Hash
المعطى، ويستبدل به القيمة الجديد التي تعيدها الكتلة، ثم يعيد هذا الكائن. لا يُغيّر هذا التابع المفاتيح.
إذا لم تُعطَ أية كتلة، فسيُعاد كائن من النوع enumerator
بدلًا من ذلك.
البنية العامة
transform_values! {|value| block } → hsh
transform_values! → an_enumerator
القيمة المعادة
يعاد الكائن Hash
المعطى نفسه بعد تبديل قيمه إلى القيم التي تعيدها الكتلة block
عند تمرير قيمة المفتاح القديم إليها، أو يعاد كائن من النوع enumerator
إن لم تُعطَ أية كتلة.
أمثلة
مثال على استعمال التابع transform_keys!
:
h = { a: 1, b: 2, c: 3 }
h.transform_values! {|v| v * v + 1 } #=> { a: 2, b: 5, c: 10 }
h.transform_values!(&:to_s) #=> { a: "2", b: "5", c: "10" }
h.transform_values!.with_index {|v, i| "#{v}.#{i}" }
#=> { a: "2.0", b: "5.1", c: "10.2" }
انظر أيضا
- التابع
transform_keys
: يعيد كائن جديد من النوعHash
مع ناتج تنفيذ الكتلة المعطاة مرةً واحدةً لكل مفتاح من مفاتيح الكائنHash
الذي استدعي معه. - التابع
transform_keys!
: يستدعي الكتلة المعطاة مرةً واحدةً لكل مفتاح من مفاتيح الكائنHash
المعطى، ويستبدل به المفتاح الجديد الذي تعيده الكتلة، ثم يعيد هذا الكائن. - التابع
transform_values
: يعيد كائن جديد من النوعHash
مع ناتج تنفيذ الكتلة المعطاة مرةً واحدةً لكل قيمة من قيم الكائنHash
الذي استدعي معه.