المحارف والعناقيد البيانية
اكتشف لماذا يمكن أن يتكوّن Character واحد من عدة قيم سلمية.
المحارف والعناقيد البيانية درس مجاني في Swift Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Swift Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Swift Academy 4 دروس في المجموع.
نوع Character
يمثل النوع Character في Swift محرفًا واحدًا مقروءًا بشريًا. أما String فهي مجموعة من هذه المحارف.
let letter: Character = "A"
print(letter)
print(type(of: letter))Character في مقابل String
تكون القيمة الحرفية المحاطة بعلامتي اقتباس مزدوجتين من النوع String افتراضيًا. صرّحوا عن النوع بصيغة Character للحصول على قيمة محرف واحد.
let s = "A"
let c: Character = "A"
print(type(of: s), type(of: c))عناقيد Grapheme الموسّعة
يُعد Character في Swift عنقود Grapheme موسّعًا: قيمة Unicode scalar واحدة أو أكثر تجتمع لتظهر كمحرف مرئي واحد.
let e: Character = "e"
print(e)
print("A Character is one visible symbol")علامات الدمج
يمكن أن يتكون الحرف المشكّل من حرف أساسي وعلامة دمج، ومع ذلك تظل Swift تتعامل مع الزوج على أنه Character واحد.
let combined: Character = "e\u{301}"
print(combined)
print("Displayed as one accented e")رمز Emoji كمحرف واحد
تُعد العديد من رموز Emoji عناقيد Grapheme مفردة، لذا تُحسب Character واحدًا حتى لو استخدمت عدة بايتات داخليًا.
let smiley: Character = "\u{1F600}"
print(smiley)عناقيد Emoji المعقدة
تجمع بعض رموز Emoji عدة قيم scalar، مثل ألوان البشرة ووصلات العرض بعرض صفري، في رمز مرئي واحد؛ لذلك تحسبها Swift بشكل صحيح على أنها Character واحد.
let family = "\u{1F468}\u{200D}\u{1F469}\u{200D}\u{1F467}"
print("Count:", family.count)التكرار على المحارف
يمكنكم التكرار على سلسلة نصية باستخدام for-in لزيارة كل Character بالترتيب.
for ch in "Hi!" {
print(ch)
}بناء String من المحارف
يمكنكم إنشاء String من مصفوفة من قيم Character.
let chars: [Character] = ["S", "w", "i", "f", "t"]
let word = String(chars)
print(word)إلحاق المحارف
استخدموا append لإضافة Character إلى نهاية سلسلة نصية.
var greeting = "Hello"
greeting.append("!")
print(greeting)مقارنة المحارف
يمكن مقارنة قيم Character للتحقق من تساويها، وهو أمر مفيد عند فحص النص.
let target: Character = "x"
let found = "fox".contains { $0 == target }
print("Contains x:", found)أهمية عناقيد Grapheme
يعني التعامل مع المحارف التي يراها المستخدم كوحدات مفردة أن أطوال السلاسل النصية وفهرستها تتوافق مع ما يراه الأشخاص فعليًا، حتى مع رموز Emoji والحروف المشكّلة.
let cafe = "caf\u{e9}"
print("Visible characters:", cafe.count)تحقق سريع
تذكّروا ما الذي يمثله Character في Swift.
مراجعة: المحارف وعناقيد Grapheme
تعلّمتم أن Character يمثل محرفًا مرئيًا واحدًا على هيئة عنقود Grapheme موسّع، وأن علامات الدمج ورموز Emoji المعقدة تظل تُحسب Character واحدًا، وأنه يمكنكم التكرار على المحارف وإنشاؤها ومقارنتها بشكل موثوق.
let text = "ab\u{1F600}"
print("Characters:", text.count)
for ch in text { print(ch) }تعلم Swift مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 122
- الدروس
- 409
الأسئلة الشائعة
هل درس «المحارف والعناقيد البيانية» مجاني؟
نعم — نص درس «المحارف والعناقيد البيانية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Swift Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Swift Academy 4 دروس في المجموع.
ماذا ستتعلم في «المحارف والعناقيد البيانية»؟
اكتشف لماذا يمكن أن يتكوّن Character واحد من عدة قيم سلمية. تتمرن على Swift Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Swift Academy؟
لا تُشترط خبرة سابقة. Swift Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «المحارف والعناقيد البيانية»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Swift Academy هذا؟
نعم. كل درس في Swift Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- المحارف والعناقيد البيانية
- القيم السلمية لـ Unicode ونقاط الرموز
- عدّ المحارف وتكرارها
- تمثيلات الترميز: utf8 و utf16 و unicodeScalars