سایلدیتی از 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