Break و Continue
جزء من قسم الأساسيات في رحلة Solidity على Coddy. الدرس 34 من 53.
داخل حلقة، يؤدي break إلى الخروج من الحلقة فورًا. يتخطى continue بقية التكرار الحالي وينتقل إلى التكرار التالي. في حلقة for، يظل تعبير التحديث يُنفَّذ بعد continue.
تُنفَّذ العبارات في هذا المقتطف داخل الدالة main المقدَّمة.
for (uint256 i = 1; i <= 5; i++) {
if (i == 2) { continue; }
if (i == 4) { break; }
console.log(i);
}تتخطى الدورة الثانية الطباعة. وتخرج الدورة الرابعة قبل الطباعة، لذلك لا يتم الوصول إلى الدورة الخامسة مطلقًا. يؤثر break وcontinue في أقرب حلقة مُحيطة، وليس في كل دالة في العقد.
يخرج break من أقرب حلقة؛ بينما يتخطى continue بقية الدورة الحالية.
التحدي
سهلاطبع الأعداد الصحيحة من 1 إلى n، مع تخطي القيمة المحظورة المُعطاة، ثم اطبع done. قيمة n لا تتجاوز 8، وقيمة banned بين 1 و10.
تُمرِّر الاختبارات الوسيطات إلى main بهذا الترتيب: uint256 n، uint256 banned. يبدأ كل اختبار بحالة عقد جديدة.
استخدم console.log للإخراج المطلوب. اطبع القيم المطلوبة فقط، قيمة واحدة في كل سطر، من دون أي تسميات إضافية ما لم تحدد المهمة ذلك.
جرّب بنفسك
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 n, uint256 banned) external view {
// اكتب حلك هنا.
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
2المتغيرات والأنواع
الأعداد الصحيحة غير الموقعةالمدخلات والمخرجاتالأعداد الصحيحة الموقعةالقيم المنطقيةالسلاسل النصية في الذاكرةبطاقة الملف الشخصي5الدوال
معاملات الدوالإرجاع القيمالدوال النقيةاستدعاءات الدوال المساعدةالحسابات القابلة لإعادة الاستخدامتدرّب بنفسك: Playground لـ Solidity