التابع Array.eql?
في روبي
يحذف التابع uniq
العناصر المتكررة من مصفوفة ثم يضع العناصر المتبقية في مصفوفة جديدة.
إن مرِّرت كتلة برمجية، فستُستخدَم القيمة التي تعيدها هذه الكتلة لكل عنصر في عملية الموازنة.
يوازن التابع uniq
القيم باستخدام التابع hash
والتابع eql?
لأجل تحسين الأداء. كما يقتطع التابع العناصر المتكررة من مصفوفة بالترتيب، إذ يحتفظ بالظهور الأول للقيمة المتكررة ويحذف القيمة الأخرى المتماثلة.
البنية العامة
uniq → new_ary
uniq { |item| ... } → new_ary
القيم المعادة
تعاد مصفوفة جديدة تحوي جميع عناصر المصفوفة المعطاة بعد إزالة العناصر المتكررة منها.
أمثلة
بعض الأمثلة على استخدام التابع uniq
:
a = [ "a", "a", "b", "b", "c" ]
a.uniq # => ["a", "b", "c"]
b = [["student","sam"], ["student","george"], ["teacher","matz"]]
b.uniq { |s| s.first } # => [["student", "sam"], ["teacher", "matz"]]
انظر أيضًا
- التابع
uniq!
: يحذف العناصر المتكررة من مصفوفة. - التابع
compact!
: يحذف كل العناصر التي تساويnil
من المصفوفة التي استدعيت معه ثم يعيدها. - التابع
delete_if
: يحذف جميع عناصر المصفوفة التي تعيد الكتلة البرمجية المعطاة عند تطبيقها على كل عنصر منها القيمةtrue
. - التابع
reject!
: يحذف كل عنصر من عناصر المصفوفة والتي تُقيّم في الكتلة البرمجية المحددة بالقيمةtrue
. إن لم يحدث أي تغيير فستعيدnil
.