المبرمج العربي نشر 19 يناير 2016 أرسل تقرير نشر 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 أرسل تقرير نشر 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 كالتالي:
فما أسهل طريقة لفعل ذلك في روبي؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.