الفرق بين المراجعتين ل"Ruby/Array/uniq"

من موسوعة حسوب
< Ruby‏ | Array
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>Array.uniq</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby Method [[تصنيف: Ruby Array]...')
 
ط (مراجعة وتدقيق.)
 
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة)
سطر 4: سطر 4:
 
[[تصنيف: Ruby Array]]
 
[[تصنيف: Ruby Array]]
 
يحذف التابع <code>uniq</code> العناصر المتكررة من مصفوفة ثم يضع العناصر المتبقية في مصفوفة جديدة.
 
يحذف التابع <code>uniq</code> العناصر المتكررة من مصفوفة ثم يضع العناصر المتبقية في مصفوفة جديدة.
 +
 
إن مرِّرت كتلة برمجية، فستُستخدَم القيمة التي تعيدها هذه الكتلة لكل عنصر في عملية الموازنة.
 
إن مرِّرت كتلة برمجية، فستُستخدَم القيمة التي تعيدها هذه الكتلة لكل عنصر في عملية الموازنة.
يوازن التابع <code>uniq</code> القيم باستخدام التابع [[Ruby/Array/hash | <code>hash</code>]] والتابع <code>eql</code>?‎ لأجل تحسين الأداء. كما يقتطع التابع العناصر المتكررة من مصفوفة بالترتيب، إذ يحتفظ بالظهور الأول للقيمة المتكررة ويحذف القيمة الأخرى المتماثلة.
+
 
 +
يوازن التابع <code>uniq</code> القيم باستخدام التابع [[Ruby/Array/hash | <code>hash</code>]] والتابع [[Ruby/Array/eql|<code>eql?‎</code>]] لأجل تحسين الأداء. كما يقتطع التابع العناصر المتكررة من مصفوفة بالترتيب، إذ يحتفظ بالظهور الأول للقيمة المتكررة ويحذف القيمة الأخرى المتماثلة.
 
==البنية العامة==
 
==البنية العامة==
<syntaxhighlight lang="ruby"> uniq → new_ary
+
<syntaxhighlight lang="ruby">uniq → new_ary
 
uniq { |item| ... } → new_ary
 
uniq { |item| ... } → new_ary
 
  </syntaxhighlight>
 
  </syntaxhighlight>
سطر 14: سطر 16:
 
==أمثلة==
 
==أمثلة==
 
بعض الأمثلة على استخدام التابع <code>uniq</code>:
 
بعض الأمثلة على استخدام التابع <code>uniq</code>:
<syntaxhighlight lang="ruby"> a = [ "a", "a", "b", "b", "c" ]
+
<syntaxhighlight lang="ruby">a = [ "a", "a", "b", "b", "c" ]
 
a.uniq  # => ["a", "b", "c"]
 
a.uniq  # => ["a", "b", "c"]
  
سطر 21: سطر 23:
 
  </syntaxhighlight>
 
  </syntaxhighlight>
 
==انظر أيضًا==
 
==انظر أيضًا==
* التابع [[Ruby/Array/uniq! | <code>uniq!</code>]]!‎: يحذف‎ العناصر المتكررة من مصفوفة.
+
* التابع<nowiki/>[[Ruby/Array/uniq! | <code>uniq!</code>]]: يحذف‎ العناصر المتكررة من مصفوفة.
* التابع [[Ruby/Array/compact! | <code>compact!</code>]]!‎: يحذف كل العناصر التي تساوي <code>nil</code> من المصفوفة التي استدعيت معه ثم يعيدها.
+
* التابع<nowiki/>[[Ruby/Array/compact! | <code>compact!</code>]]: يحذف كل العناصر التي تساوي <code>nil</code> من المصفوفة التي استدعيت معه ثم يعيدها.
* التابع [[Ruby/Array/delete_if | <code>delete_if</code>]]: يحذف جميع عناصر المصفوفة التي تعيد الكتلة البرمجية المعطاة عند تطبيقها على كل عنصر منها القيمة <code>true</code>.
+
* التابع<nowiki/>[[Ruby/Array/delete_if | <code>delete_if</code>]]: يحذف جميع عناصر المصفوفة التي تعيد الكتلة البرمجية المعطاة عند تطبيقها على كل عنصر منها القيمة <code>true</code>.
* التابع [[Ruby/Array/reject! | <code>reject!</code>]]!‎: يحذف كل عنصر من عناصر المصفوفة والتي تُقيّم في الكتلة البرمجية المحددة بالقيمة <code>true</code>. إن لم يحدث أي تغيير فستعيد <code>nil</code>.
+
* التابع<nowiki/>[[Ruby/Array/reject! | <code>reject!</code>]]: يحذف كل عنصر من عناصر المصفوفة والتي تُقيّم في الكتلة البرمجية المحددة بالقيمة <code>true</code>. إن لم يحدث أي تغيير فستعيد <code>nil</code>.
 
==مصادر==
 
==مصادر==
* قسم التابع uniq في الصنف Array في توثيق روبي الرسمي.
+
* [https://ruby-doc.org/core-2.5.1/Array.html#method-i-uniq قسم التابع uniq في الصنف Array في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 10:19، 3 أكتوبر 2018

يحذف التابع 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.

مصادر