English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في هذا المقال، ستتعلم كيفية استخدام جملة continue لتحويل السيطرة على البرنامج.
عند استخدام الدورات أو الجملة المشروطية، قد تحتاج إلى تمرير بعض الجمل في الدورة أو إنهاء الدورة بشكل فوري دون التحقق من جملة الاختبار.
في هذه الحالة، سيتم استخدام جملة break وcontinue. اذهب إلى هذه الصفحة لمعرفة المزيد عنجملة breakالمزيد من المعلومات.
تتوقف جملة continue على تنفيذ الدورة أو جملة switch داخل الدورة. ثم، سيعود إلى تقييم جملة الاختبار للدورة.
نص جملة continue هو:
continue
for i in 1...5 { if i == 4 { continue } print("i = \(i)") }
عند تشغيل هذا البرنامج، الناتج هو:
i = 1 i = 2 i = 3 i = 5
في البرنامج أعلاه، نطاق السلسلة التي سيتم تدويرها هي من 1 إلى 5.
قيمة i تُضبط لتكون الرقم الأول في range(1) وتُحديث في كل تكرار إلى الرقم التالي في النطاق.
الدورة تضم جملة i = = 4 في if. عند تقييم جملة true (في التكرار الرابع) تنفيذ جملة continue، تمرير تنفيذ جملة print("i = (i)")، والانتقال إلى التكرار التالي (i = 5).
var intialLevel:Int = -5, finalLevel:Int = 2 var currentLevel:Int = intialLevel while currentLevel < finalLevel { if intialLevel < 0 { print("المستوى الا�始ي يجب أن يكون عددًا إيجابيًا") intialLevel = 0 currentLevel = intialLevel continue // تجاوز التنفيذ الحالي } currentLevel += 1 print("المستوى التالي") } print("خارج دورة while")
عند تشغيل هذا البرنامج، الناتج هو:
المستوى الا�始ي يجب أن يكون عددًا إيجابيًا المستوى التالي المستوى التالي خارج دورة while
في البرنامج أعلاه، دورة while تعمل حتى يكون currentLevel أقل من finalLevel. بسبب أن قيمة initialLevel الم分配ة هي -5 وهي أقل من 0، يتم تنفيذ الجملة الداخلية في if.
عندما يصل البرنامج إلى جملة continue، يقوم بتجاوز جملة while، ثم يتحقق من شرط currentLevel<finalLevel مرة أخرى.
for j in 1...2 { for i in 1...5 { if i == 4 { continue } print("i = \(i)") } print("j = \(j)") }
عند تشغيل هذا البرنامج، الناتج هو:
i = 1 i = 2 i = 3 i = 5 j = 1 i = 1 i = 2 i = 3 i = 5
في البرنامج أعلاه، جملة continue في if i==4 تقوم بتجاوز تنفيذ جملة print("i=\(i)") في الدورة الداخلية فقط. ولكنها لن تجاوز تنفيذ الدورة الخارجية for i in 1...5.
لكن ماذا إذا كنت تريد أيضًا continue في الدورة الخارجية؟ من أجل ذلك، يجب عليك استخدام جملة مسمى في Swift.
الجمل التي تبدأ بـ (label: Statement) تسمى جملة مسمى. هو معرف، يمكنك مراجعته في جمل break أو continue لاحقاً.
هنا،label هو معرف. عند تنفيذ جملة continue، يقوم البرنامج بتجاوز البقية من الدوال في الدورة، ويقفز إلى الجملة التي تبدأ بlabel.
outerloop: for j in 1...2 { innerloop: for i in 1...5 { if i == 4 { continue outerloop } print("i = \(i)") } print("j = \(j)") }
عند تشغيل هذا البرنامج، الناتج هو:
i = 1 i = 2 i = 3 i = 1 i = 2 i = 3
في البرنامج المذكور أعلاه، هناك جملتان مختطبتان outerloop: for j in 1...2 و innerloop: for i in 1...5.
يمكن استخدام أسماء العلامات outerloop و innerloop مع جملة continue.
في البرنامج، استخدمنا جملة continue outerloop لتخطي تنفيذ الأوامر في الدوائر الداخلية والخارجية. خلال هذه العملية، يتم تحديث قيم i و j إلى الرقم التالي في النطاق.