Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

التراجع الصريح

جزء من قسم الأساسيات في رحلة Solidity على Coddy. الدرس 47 من 53.

يمكن لفرع if استدعاء revert(message) لرفض حالة غير صالحة بشكل صريح. يكون هذا مفيدًا عندما يكون شرط الرفض أسهل في القراءة من نقيضه. ضع العمل العادي بعد الحارس حتى يتم تنفيذه فقط للإدخال المقبول.

تعمل العبارات في هذا المقتطف داخل الدالة main المُقدَّمة.

uint256 chosen = 4;
if (chosen > 6) { revert("Choice too large"); }
console.log(chosen + 2);

أربعة لا يتجاوز ستة، لذا يتم تجاوز فرع الرفض. يصل التنفيذ إلى استدعاء وحدة التحكم. يرفض revert الصريح الاستدعاء تمامًا مثل فشل require؛ وليس وسيلة لطباعة نتيجة عادية.

ينهي revert الاستدعاء الحالي بحالة فشل بدلًا من المتابعة بشكل طبيعي.

challenge icon

التحدي

سهل

ارفض القيمة التي تتجاوز 50 باستخدام revert مع رسالة مفيدة. بالنسبة إلى الإدخال المقبول، اطبع 50 ناقص القيمة. جميع اختبارات الإخراج تقع ضمن النطاق.

تمرّر الاختبارات الوسائط إلى main بهذا الترتيب: uint256 value. يبدأ كل اختبار بحالة عقد جديدة.

استخدم console.log للإخراج المطلوب. اطبع القيم المطلوبة فقط، قيمة واحدة في كل سطر، من دون تسميات إضافية ما لم تحدد المهمة ذلك.

جرّب بنفسك

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
    function main(uint256 value) external view {
        // اكتب حلك هنا.
    }
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الأساسيات

تدرّب بنفسك: Playground لـ Solidity