الخطوة (Stride)
جزء من قسم المنطق وتدفق التنفيذ في رحلة Swift على Coddy. الدرس 8 من 56.
يتقدّم النطاق خطوةً واحدةً في كل مرة. عندما تريد حجم خطوة مختلفًا، أو العدّ تنازليًا، استخدم stride.
نوعان: يتوقف stride(from:to:by:) قبل القيمة الثانية (نطاق مفتوح من الطرف الأعلى)، وقد يتضمنها stride(from:through:by:) (نطاق مغلق):
for n in stride(from: 0, to: 10, by: 2) {
print(n)
}
// 0, 2, 4, 6, 8for n in stride(from: 10, through: 0, by: -2) {
print(n)
}
// 10, 8, 6, 4, 2, 0يجب أن تكون إشارة الوسيطة by: صحيحة: موجبة عند العدّ تصاعديًا، وسالبة عند العدّ تنازليًا. إذا لم تتطابق، فستُنفَّذ الحلقة صفر مرة.
التحدي
سهلاقرأ ثلاثة أعداد صحيحة (ثلاثة أسطر): start وend وstep. يمكن أن تكون الخطوة موجبة أو سالبة. النطاق شامل للطرفين (استخدم stride(from:through:by:)).
اطبع:
- القيم في التسلسل، مفصولة بـ
, - عدد القيم الناتجة
للمدخلات 0 / 10 / 3، يكون الناتج:
0,3,6,9
4للمدخلات 10 / 0 / -2، يكون الناتج:
10,8,6,4,2,0
6جرّب بنفسك
let start = Int(readLine()!)!
let end = Int(readLine()!)!
let step = Int(readLine()!)!
// TODO: استخدم stride(from:through:by:)، ثم افصل القيم بفواصل، وبعدها اطبع العدد
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس المنطق وتدفق التنفيذ
1النصوص بعمق
العد والفهارسحالة الأحرف وإزالة الفراغاتالبحث في النصوصتقسيم ودمج النصوصاستبدال النصوص الفرعيةمراجعة - التحقق من اسم المستخدم4المجموعات
إنشاء المجموعاتالاتحاد والتقاطعالطرح والفرق المتماثلالمجموعات الجزئية والشاملةمراجعة - تصفية الـ Tag7مشروع - متتبع العادات
نظرة عامة على المشروعتحديد كمكتمل2النطاقات والخطوات
المغلقة مقابل نصف المفتوحةالخطوة (Stride)دوال النطاقاتالنطاقات في Switchملخص - شبكة التقويم5الدوال من الرتبة العليا - الجزء الأول
MapFilterReduceربط Map و Filter و Reduceمراجعة - إحصائيات الكلماتتدرّب بنفسك: Playground لـ Swift