• 0

ما أسهل طريقة لتحديث قيم Hash في روبي؟

أملك الهاش التالي:

h = { 1 => 10, 2 => 20, 5 => 70, 8 => 90, 4 => 34 }

وأريد تغيير قيم الهاش v إلى دالة foo(v) وسيصبح هاش h كالتالي:

h = { 1 => foo(10), 2 => foo(20), 5 => foo(70), 8 => foo(90), 4 => foo(34) }

فما أسهل طريقة لفعل ذلك في روبي؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

يوجد العديد من الطرق في لغة روبي لفعل ذلك، فيمكنك على سبيل المثال استخدام هذه الطريقة حيث أن f هي الدالة التي تريد تطبيقها على قيم الهاش و hash هو الهاش الخاص بك:

hash.update(hash){|key,v1| f(v1)}

المثال السابق يعتبر أفضل طريقة وتعمل على أغلب إصدارات روبي، وفي حالة كنت تستخدم إصدار أقدم من 1.8 وتريد طريقة أخرى لفعل ذلك فيمكنك استخدام هذه الطريقة:

new_hash = Hash[old_hash.map {|key, value| key, foo(value)}]

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن