Menu
Coddy logo textTech

מערכי אחסון

חלק מהיחידה יסודות במסלול ה-Solidity של Coddy. שיעור 38 מתוך 53.

מערך דינמי שמוגדר ברמת החוזה נשמר באחסון. השתמשו ב־push(value) כדי להוסיף איבר וב־pop() כדי להסיר את האיבר האחרון. קריאה ל־pop במערך ריק גורמת לביטול. האורך שלו משתנה ככל שמוסיפים או מסירים ערכים.

הגדירו זאת ברמת החוזה:

uint256[] values;

השתמשו בו בתוך הפונקציה main שסופקה:

values.push(6);
values.push(15);
values.pop();
console.log(values.length);
console.log(values[0]);

המערך מתחיל ריק בבדיקה הזו. שתי פעולות דחיפה יוצרות שני איברים, ופעולת pop מסירה את השני. הראשון נשאר שש. עדכון של מערך אחסון משנה את מצב החוזה, ולכן main לא יכולה להיות view.

push ו־pop משנים מערך אחסון דינמי בקצה שלו.

challenge icon

אתגר

קל

הצהירו על מערך אחסון דינמי מסוג uint256 בשם values. הוסיפו את a, b ו־c, הסירו את האיבר האחרון, ואז הדפיסו את האורך ואת הערך האחרון שנותר.

הבדיקות מעבירות ארגומנטים אל main בסדר הזה: uint256 a, uint256 b, uint256 c. כל בדיקה מתחילה עם מצב חוזה חדש.

השתמשו ב־console.log עבור הפלט המבוקש. הדפיסו רק את הערכים המבוקשים, אחד בכל שורה, ללא תוויות נוספות אלא אם המשימה מציינת אותן.

נסו בעצמכם

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
    function main(uint256 a, uint256 b, uint256 c) external  {
        // כתבו כאן את הפתרון שלכם.
    }
}
quiz iconבחנו את עצמכם

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

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

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