MaxReve نشر 6 ديسمبر 2015 أرسل تقرير نشر 6 ديسمبر 2015 لدي مصفوفة في برنامج بلغة روبي، وأريد التأكد ما إذا كانت المصفوفة تحتوي على قيم متكررة فكيف أستطيع فعل ذلك؟ اقتباس
0 هشام رزق الله نشر 6 ديسمبر 2015 أرسل تقرير نشر 6 ديسمبر 2015 هنالك عدّة طرق في روبي للتأكد من أن المصفوفة بها عناصر متكررة أم لا، يمكنك مثلا استدعاء تابع uniq والذي سيرجع مصفوفة جديدة مشابهة للمصفوفة القديمة لكن بدون تكرارات وبعد ذلك يمكنك التأكد هل أن المصفوفة الجديدة تمتلك نفس عدد عناصر المصفوفة الأولى أم لا، فإذا كانت تمتلك نفس العدد فهذا يعني أنه ليس هنالك عناصر متكررة في مصفوفة:if a.uniq.length == a.length puts "a does not contain duplicates" else puts "a does contain duplicates" end ولمعرفة العناصر المتكرّرة يمكن استخدام ما يلي:array = [1, 2, 1, 3, 5, 4, 5, 5] => [1, 2, 1, 3, 5, 4, 5, 5] dup = array.select{|element| array.count(element) > 1 } => [1, 1, 5, 5, 5] dup.uniq => [1, 5] اقتباس
0 Ali Haidar Ahmad نشر 25 مارس 2022 أرسل تقرير نشر 25 مارس 2022 إذا أردت معرفة فيما إذا كانت تحوي قيم متكررة، وتريد أن تعرف هذه القيم أيضًا، يمكنك القيام بذلك بالشكل التالي: dups = [1,1,1,2,2,3].group_by{|e| e}.keep_if{|_, e| e.length > 1} # => {1=>[1, 1, 1], 2=>[2, 2]} الآن إذا كنت تريد القيم المكررة فقط: dups.keys # => [1, 2] إذا كنت تريد عدد التكرارات لكل عنصر: dups.map{|k, v| {k => v.length}} # => [{1=>3}, {2=>2}] اقتباس
السؤال
MaxReve
لدي مصفوفة في برنامج بلغة روبي، وأريد التأكد ما إذا كانت المصفوفة تحتوي على قيم متكررة فكيف أستطيع فعل ذلك؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.