إنشاء المجموعات
جزء من قسم المنطق والتدفق في رحلة Swift على Coddy. الدرس 18 من 56.
مجموعة Set هي تجميعة غير مرتبة من قيم فريدة. نفس نوع الـ element لكل عضو، ولا يُسمح بوجود أي duplicate، وبدون ترتيب تكرار محدد.
var colors: Set<String> = ["red", "green", "blue", "red"]
print(colors.count) // 3 (يتم إسقاط المكرر "red")تكون الملاحظة التوضيحية للنوع Set<String> إلزامية في صيغة القيمة المباشرة (literal) لأن ["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 مرتبة أبجديًا، ومدمجة مع
, 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