إنشاء المجموعات
جزء من قسم المنطق والتدفق في رحلة Swift على Coddy. الدرس 18 من 56.
A Set هي مجموعة غير مرتبة من القيم الفريدة. يكون نوع العنصر نفسه لكل عضو، ولا يُسمح بالتكرارات، ولا يوجد ترتيب تكرار يمكن التنبؤ به.
var colors: Set<String> = ["red", "green", "blue", "red"]
print(colors.count) // 3 (تم إسقاط المكرر "red")الوسم التوضيحي للنوع Set<String> إلزامي في الصيغة الحرفية، لأن ["a", "b"] بمفردها سيُستدل على أنها Array.
ثلاث عمليات أساسية: contains وinsert وremove. تُرجع العمليتان الأخيرتان معلومات حول ما إذا كان التغيير ذا أثر.
colors.insert("yellow") // يضيفه
colors.insert("red") // موجود بالفعل، لا تأثير
colors.contains("green") // true
colors.remove("blue") // يُرجع "blue" أو nil إذا كان مفقوداًيؤدي إنشاء مجموعة من مصفوفة إلى إزالة التكرارات في خطوة واحدة:
let unique = Set([1, 2, 2, 3, 3, 3])
// 3 عناصر، الترتيب الدقيق غير مضمونالتحدي
مبتدئاقرأ سطرًا واحدًا من الإدخال: قائمة كلمات مفصولة بفواصل (قد تحتوي على كلمات مكررة).
اطبع ثلاثة أسطر:
- عدد الكلمات unique (استخدم
Set) - الكلمات unique مرتبة sorted أبجديًا، وموصولة باستخدام
, trueعندما يحتوي الإدخال على الكلمةswift، وإلا فاطبعfalse(استخدمcontains)
بالنسبة إلى الإدخال swift,ruby,go,swift,go,rust، يكون الناتج:
4
go,ruby,rust,swift
trueجرّب بنفسك
let words = readLine()!.components(separatedBy: ",")
// TODO: أزل التكرار عبر Set، اطبع العدد، مرتبة ومربوطة، يحتوي على النص الدقيق من التعليمات
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس المنطق والتدفق
1النصوص بعمق
العد والفهارسحالة الأحرف وإزالة الفراغاتالبحث في النصوصتقسيم ودمج النصوصاستبدال النصوص الفرعيةمراجعة - التحقق من اسم المستخدم4المجموعات
إنشاء المجموعاتالاتحاد والتقاطعالطرح والفرق المتماثلالمجموعات الجزئية والشاملةمراجعة - تصفية الـ Tag7مشروع - متتبع العادات
نظرة عامة على المشروعتحديد كمكتمل2النطاقات والخطوات
المغلقة مقابل نصف المفتوحةالخطوة (Stride)دوال النطاقاتالنطاقات في Switchملخص - شبكة التقويم5الدوال من الرتبة العليا - الجزء الأول
MapFilterReduceربط Map و Filter و Reduceمراجعة - إحصائيات الكلماتتدرّب بنفسك: Playground لـ Swift