المبرمج العربي نشر 19 يناير 2016 أملك الهاش التالي: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 هشام رزق الله نشر 19 يناير 2016 يوجد العديد من الطرق في لغة روبي لفعل ذلك، فيمكنك على سبيل المثال استخدام هذه الطريقة حيث أن f هي الدالة التي تريد تطبيقها على قيم الهاش و hash هو الهاش الخاص بك:hash.update(hash){|key,v1| f(v1)} المثال السابق يعتبر أفضل طريقة وتعمل على أغلب إصدارات روبي، وفي حالة كنت تستخدم إصدار أقدم من 1.8 وتريد طريقة أخرى لفعل ذلك فيمكنك استخدام هذه الطريقة:new_hash = Hash[old_hash.map {|key, value| key, foo(value)}] انشر على الشّبكات الاجتماعية رابط هذه المساهمة
أملك الهاش التالي:
وأريد تغيير قيم الهاش v إلى دالة foo(v) وسيصبح هاش h كالتالي:
فما أسهل طريقة لفعل ذلك في روبي؟
انشر على الشّبكات الاجتماعية
رابط هذه المساهمة