تقطيع المصفوفات - الجزء الثاني
جزء من قسم الأساسيات في رحلة Swift على Coddy. الدرس 74 من 86.
يوفّر Swift صياغة مختصرة ملائمة لاستخراج شريحة تبدأ من بداية المصفوفة أو تنتهي عند نهايتها. بدلًا من تحديد 0 أو الفهرس الأخير صراحةً، يمكنك ترك أحد طرفي النطاق فارغًا.
لتقطيع مصفوفة من بدايتها حتى فهرس محدد، احذف قيمة البداية:
let numbers = [10, 20, 30, 40, 50]
let firstThree = numbers[..<3]
print(firstThree) // [10, 20, 30]وبالمثل، لتقطيع المصفوفة بدءًا من فهرس محدد حتى النهاية، احذف قيمة النهاية:
let numbers = [10, 20, 30, 40, 50]
let fromIndex2 = numbers[2...]
print(fromIndex2) // [30, 40, 50]يمكنك أيضًا استخدام إصدار النطاق المغلق لتضمين فهرس نهاية محدد:
let letters = ["a", "b", "c", "d", "e"]
let upToIndex3 = letters[...3]
print(upToIndex3) // ["a", "b", "c", "d"]تجعل هذه النطاقات أحادية الجانب شيفرتك أكثر وضوحًا عندما تحتاج إلى العناصر الأولى أو إلى كل ما يأتي بعد نقطة معيّنة. تذكّر أن تحيط النتيجة بـ Array() إذا كنت تحتاج إلى مصفوفة عادية بدلًا من ArraySlice.
التحدي
سهلاكتب دالة splitArray تأخذ numbers وindex وتُرجع جميع العناصر بدءًا من الفهرس المعطى وحتى نهاية المصفوفة.
استخدم معامل النطاق أحادي الجانب (...) لاقتطاع العناصر بدءًا من الفهرس المحدد وحتى النهاية، وأعِد النتيجة كمصفوفة عادية.
المعاملات:
numbers([Int]): المصفوفة المراد اقتطاع عناصر منهاindex(Int): فهرس البداية (شاملًا)
القيمة المُعادة: مصفوفة تحتوي على جميع العناصر بدءًا من الفهرس المعطى وحتى نهاية المصفوفة ([Int])
مثال: إذا كانت numbers هي [5, 10, 15, 20, 25, 30] وكان index هو 3، فينبغي أن تُعيد الدالة [20, 25, 30].
جرّب بنفسك
func splitArray(numbers: [Int], index: Int) -> [Int] {
// اكتب الكود هنا
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةالإسناد المركبمراجعة - عمليات رياضية بسيطةمعاملات المقارنة7أساسيات الإدخال والإخراج
دالة الطباعةتضمين النصوصإدخال ReadLineتحويل الأنواعمراجعة - حتى 120مراجعة - True أو False10الدوال
تعريف دالةالمعاملات والوسائطقيم الإرجاعتسميات الوسائطمراجعة - دالة Sigmaمراجعة - دالة Validationالقيم الافتراضية2المتغيرات
Let مقابل Varتوصيف الأنواع (Type Annotations)الأرقامStringBooleanقواعد التسميةمراجعة - تهيئة المتغيرات5المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعامل الثلاثي (Ternary Operator)8حاسبة تقسيم الفاتورة
رسالة الترحيبالحصول على المدخلات14المصفوفات المتقدمة
تقطيع المصفوفات - الجزء الأولتقطيع المصفوفات - الجزء الثانيمعاملات المتسلسلاتدالة Contains3القيم الاختيارية (Optionals)
ما هي القيم الاختياريةفك القيم باستخدام If Letاستخدام Guard Letمعامل دمج Nilمراجعة - فك القيم بأمان9حلقات التكرار
حلقة For-Inحلقة Whileحلقة Repeat-WhileBreakContinueمراجعة - المضروب (Factorial)النطاقات في حلقات التكرارالحلقات المتداخلةمراجعة - الإدخال الديناميكي (Dynamic Input)تدرّب بنفسك: Playground لـ Swift