קריאות עזר
חלק מהיחידה יסודות במסלול ה-Solidity של Coddy. שיעור 24 מתוך 53.
פונקציית עזר אחת יכולה לקרוא לפונקציית עזר אחרת כדי לפרק חישוב לשלבים בעלי משמעות. פונקציית העזר החיצונית משתמשת בערך שהוחזר ואז מחזירה את התוצאה שלה. אפשר לקרוא לפונקציה פנימית ישירות לפי שמה מתוך פונקציה אחרת בחוזה.
הגדירו את פונקציית העזר הזו בתוך החוזה:
function twice(uint256 n) internal pure returns (uint256) {
return n * 2;
}
function adjusted(uint256 n) internal pure returns (uint256) {
return twice(n) + 4;
}השתמשו בה בתוך הפונקציה main שסופקה:
console.log(adjusted(6));קורא ל־adjusted פעמיים, מה שמחזיר שנים עשר, ואז מוסיף ארבע. main רואה רק את התוצאה הסופית, שש עשרה. החלוקה הזו משאירה את כלל ההכפלה החוזרת במקום אחד, בעוד פונקציית עזר אחרת מתארת את ההתאמה הנוספת.
פונקציית עזר פנימית יכולה לקרוא ישירות לפונקציית עזר פנימית אחרת לפי שמה.
אתגר
קלכתבו פונקציות עזר פנימיות טהורות doubleValue, שמחזירה את n כפול שתיים, ו-withBonus, שמחזירה את doubleValue(n) ועוד חמש. הדפיסו את withBonus(points).
הבדיקות מעבירות ארגומנטים ל-main בסדר הזה: uint256 points. כל בדיקה מתחילה עם מצב חוזה חדש.
השתמשו ב-console.log עבור הפלט המבוקש. הדפיסו רק את הערכים המבוקשים, אחד בכל שורה, ללא תוויות נוספות אלא אם המשימה מציינת אחרת.
נסו בעצמכם
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 points) external view {
// כתבו כאן את הפתרון שלכם.
}
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
תרגלו בעצמכם: Solidity אונליין