Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

العد والفهارس

جزء من قسم المنطق والتدفق في رحلة Swift على Coddy — الدرس 1 من 56.

لقد استخدمت str.count في الأساسيات للحصول على عدد المحارف. المضي قدمًا يعني فهم أن String في Swift هي تسلسل من المحارف، وليست مصفوفة مسطحة من البايتات.

let greeting = "Hello"
print(greeting.count)            // 5
print(greeting.first!)           // "H"
print(greeting.last!)            // "o"
print(greeting.isEmpty)          // false

لا يمكنك فهرسة سلسلة نصية باستخدام عدد صحيح. للحصول على حرف في موضع معين، اطلب من السلسلة النصية index مزاحاً عن بدايتها:

let i = greeting.index(greeting.startIndex, offsetBy: 1)
print(greeting[i])               // "e"

تُعد الخصائص first و last و isEmpty بمثابة الأدوات اليومية. لا تلجأ إلى الفهارس إلا عندما تحتاج حقاً إلى موضع محدد.

challenge icon

التحدي

مبتدئ

اقرأ سطرًا واحدًا من المدخلات. اطبع ثلاثة أسطر:

  1. عدد الأحرف في المدخلات
  2. الحرف الأول والأخير مفصولين بمسافة، على سبيل المثال H o لـ Hello
  3. true عندما يكون الحرف الأول والأخير هما نفس الحرف مع تجاهل حالة الأحرف، وإلا false (على سبيل المثال Anna، RadaR)

افترض أن المدخلات تحتوي على حرف واحد على الأقل.

بالنسبة للمدخل RadaR، يكون المخرج هو:

5
R R
true

ورقة مرجعية

سلسلة String في لغة سويفت هي تسلسل من الأحرف. الخصائص الرئيسية:

let s = "Hello"
s.count       // 5
s.first!      // "H"
s.last!       // "o"
s.isEmpty     // false

للوصول إلى حرف في موضع معين، استخدم إزاحة الفهرس (index offset):

let i = s.index(s.startIndex, offsetBy: 1)
print(s[i])   // "e"

مقارنة الأحرف بغض النظر عن حالة الأحرف (كبيرة أو صغيرة):

s.first!.lowercased() == s.last!.lowercased()

جرّب بنفسك

let line = readLine()!

// TODO: طباعة العدد، الأول/الأخير، والتحقق من تماثل الحروف مع تجاهل حالة الأحرف
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس المنطق والتدفق