حلقات While
جزء من قسم الأساسيات في رحلة Solidity على Coddy. الدرس 32 من 53.
تتحقق حلقة while من شرط وتكرر جسمها ما دام ذلك الشرط صحيحًا. أنت تتحكم في التحديث داخل الجسم. تأكد من أن الحلقة تغيّر شيئًا يمكنه في النهاية جعل شرطها خاطئًا.
تعمل العبارات في هذا المقتطف داخل الدالة main المقدَّمة.
uint256 remaining = 3;
while (remaining > 0) {
console.log(remaining);
remaining--;
}تتم طباعة العداد قبل إنقاصه. عندما يصل إلى الصفر، يؤدي فحص الشرط التالي إلى إيقاف الحلقة، لذلك لا يُنفَّذ الطرح غير الموقَّع عند الصفر. سيؤدي عدم الإنقاص إلى بقاء الشرط صحيحًا إلى الأبد.
تحتاج حلقة while إلى مسار يجعل شرطها خاطئًا في النهاية.
التحدي
سهلبدءًا من n، اطبع عدًّا تنازليًا حتى 1 باستخدام while، ثم اطبع stop. تكون قيمة n بين 0 و7.
تمرّر الاختبارات الوسائط إلى main بهذا الترتيب: uint256 n. يبدأ كل اختبار بحالة عقد جديدة.
استخدم console.log للإخراج المطلوب. اطبع القيم المطلوبة فقط، قيمة واحدة في كل سطر، من دون تسميات إضافية ما لم تحدد المهمة ذلك.
جرّب بنفسك
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 n) external view {
// اكتب حلك هنا.
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
2المتغيرات والأنواع
الأعداد الصحيحة غير الموقعةالمدخلات والمخرجاتالأعداد الصحيحة الموقعةالقيم المنطقيةالسلاسل النصية في الذاكرةبطاقة الملف الشخصي5الدوال
معاملات الدوالإرجاع القيمالدوال النقيةاستدعاءات الدوال المساعدةالحسابات القابلة لإعادة الاستخدامتدرّب بنفسك: Playground لـ Solidity