المبرمج العربي نشر 6 فبراير 2016 أرسل تقرير نشر 6 فبراير 2016 إذا افترضنا أن لدي المصفوفة التالية: [['1','2'],['a','b'],['x','y']] أريد الحصول على مصفوفة تحتوي على جميع التركيبات الممكنة للمصفوفة الأولى كما في المثال التالي: ['1ax', '1ay', '1bx', '1by', '2ax', '2ay', '2bx', '2by'] فكيف أفعل ذلك في روبي؟ اقتباس
0 هشام رزق الله نشر 6 فبراير 2016 أرسل تقرير نشر 6 فبراير 2016 يوجد عدة طرق في لغة روبي لفعل ذلك فيمكنك على سبيل المثال استخدام تابع product مع حلقة التكرار map لتكوين القائمة التي ترغب بتشكيلها كما في المثال التالي: a = [['1','2'],['a','b'],['x','y']] a.first.product(*a[1..-1]).map(&:join) وهنالك طريق أخرى لفعل ذلك وهي أطول وأعقد قليلا وتتكون من عدة توابع مثل reduce و map و product وغيرها كما في المثال التالي: a = [['1','2'],['a','b'],['x','y']] a.reduce() { |acc, n| acc.product(n).map(&:flatten) }.map(&:join) اقتباس
السؤال
المبرمج العربي
إذا افترضنا أن لدي المصفوفة التالية:
[['1','2'],['a','b'],['x','y']]
أريد الحصول على مصفوفة تحتوي على جميع التركيبات الممكنة للمصفوفة الأولى كما في المثال التالي:
['1ax', '1ay', '1bx', '1by', '2ax', '2ay', '2bx', '2by']
فكيف أفعل ذلك في روبي؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.