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