دستور Enums در برنامه نویسی سالیدیتی
23 تیر 1401 1401-04-23 13:06دستور Enums در برنامه نویسی سالیدیتی
دستور Enums در برنامه نویسی سالیدیتی
Enums یک متغیر را محدود می کند تا فقط یکی از چند مقدار از پیش تعریف شده داشته باشد. مقادیر موجود در این لیست شمارش شده را Enum می نامند.با استفاده از دستور Enums در برنامه نویسی سالیدیتی می توان باگ های موجود در کد را کاهش داد..Enums روشی برای ایجاد انواع داده های تعریف شده توسط کاربر است، که باعث می شود قرارداد برای نگهداری و خواندن بهتر شود. Enums متغیر را با یکی از چند مقدار از پیش تعریف شده محدود می کند، این مقادیر لیست شمارش شده enums نامیده می شوند. گزینه ها با مقادیر صحیح از صفر نشان داده می شوند، یک مقدار پیش فرض نیز می تواند برای enum داده شود.Enum ها خوانایی کد را افزایش می دهند.
جهت دریافت اطلاعات بیشتر قبل از مطالعه مقاله زیر توصیه می کنیم مقالات و محتواهای آموزش زبان سالیدیتی را هم مطالعه نمایید.
- قرارداد هوشمند یا اسمارت کانترکت (Smart Contract) چیست؟
- چگونه یک برنامه نویس سالیدیتی شویم؟
- کاربردهای برنامه نویسی سالیدیتی
- آرایه ها در زبان برنامه نویسی سالیدیتی
- مکان داده در برنامه نویسی سالیدیتی
- توابع بازگشتی در سالیدیتی
به عنوان مثال، اگر برنامه ای را برای آب میوه فروشی در نظر بگیریم، می توان اندازه لیوان را به کوچک، متوسط و بزرگ محدود کرد. این اطمینان می دهد که به هیچ کس اجازه نمی دهد اندازه دیگری غیر از کوچک، متوسط یا بزرگ سفارش دهد.
سینتکس دستور Enums در سالیدیتی
enum <enumerator_name> { element 1, element 2,....,element n }
مثالی از Enums در برنامه نویسی سالیدیتی
با استفاده از کد زیر می توانید با عملکرد Enum در زبان برنامه نویسی سالیدیتی آشنا شوید.
pragma solidity ^0.5.0; contract test { enum FreshJuiceSize{ SMALL, MEDIUM, LARGE } FreshJuiceSize choice; FreshJuiceSize constant defaultChoice = FreshJuiceSize.MEDIUM; function setLarge() public { choice = FreshJuiceSize.LARGE; } function getChoice() public view returns (FreshJuiceSize) { return choice; } function getDefaultChoice() public pure returns (uint) { return uint(defaultChoice); } }
ابتدا بر روی SetLarge کلیک کنید تا مقدار به صورت LARGE تنظیم شود و سپس GetChoice را انتخاب کنید تا گزینه ی انتخاب شده انجام شود.
خروجی
uint8: 2
برای دریافت گزینه پیش فرض، روی گزینه GetDefaultChoice کلیک کنید.
خروجی
uint256: 1
مثالی دیگر از دستور Enums در سالیدیتی
مثال: در مثال زیر، قرارداد از یک شمارشگر week_days تشکیل شده است و توابعی برای تنظیم و دریافت مقدار متغیر نوع شمارشگر تعریف شده اند.
// Solidity program to demonstrate
// how to use 'enumerator'
pragma solidity ^0.5.0;
// Creating a contract
contract Types {
// Creating an enumerator
enum week_days
{
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}
// Declaring variables of
// type enumerator
week_days week;
week_days choice;
// Setting a default value
week_days constant default_value
= week_days.Sunday;
// Defining a function to
// set value of choice
function set_value() public {
choice = week_days.Thursday;
}
// Defining a function to
// return value of choice
function get_choice(
) public view returns (week_days) {
return choice;
}
// Defining function to
// return default value
function getdefaultvalue(
) public pure returns(week_days) {
return default_value;
}
}