Menu
Coddy logo textTech

ביטול מפורש

חלק מהיחידה יסודות במסלול ה-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בחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: Solidity אונליין