سالیدیفا

enum (نوع شمارشی)

سایلدیتی از enum ها پشتیبانی می کند. enum ها در تعریف گزینه های یک انتخاب و همچنین پیگیری وضعیت ها کاربرد دارند.

Enums را می توان خارج از قرارداد تعریف کرد.

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;

contract Enum {
    // مشخص کردن وضعیت خرید
    enum Status {
        Pending,
        Shipped,
        Accepted,
        Rejected,
        Canceled
    }

    // گزینه پیش فرض، اولین گزینه تعریف شده است.
    // گزینه پیشفرض می شود pending که در اینجا گزینه
    
    Status public status;

    // است uint مقدار برگشتی از نوع
    // Pending  - 0
    // Shipped  - 1
    // Accepted - 2
    // Rejected - 3
    // Canceled - 4
    function get() public view returns (Status) {
        return status;
    }

    // به ورودی uint بروزرسانی وضعیت با پاس دادن مقدار 
    function set(Status _status) public {
        status = _status;
    }

    // را بروزرسانی کنید enum به راحتی میتوانید مقدار
    function cancel() public {
        status = Status.Canceled;
    }

    // به مقدار پیش فرض یعنی 0 برمیگردد enum مقدار  delete با استفاده از
    function reset() public {
        delete status;
    }
}
Solidity

تعریف و import کردن Enum #

فایلی که enum در آن تعریف شده:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;
// 'EnumDeclaration.sol' با این نام ذخیره شده 

enum Status {
    Pending,
    Shipped,
    Accepted,
    Rejected,
    Canceled
}
Solidity

فایلی که از enum تعریف شده در بالا استفاده می کند:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;

import "./EnumDeclaration.sol";

contract Enum {
    Status public status;
}
Solidity

در Remix امتحان کنید: #

احساست در مورد این مقاله چیه؟