Solidity - перечисления

Перечисления ограничивают переменную одним из нескольких предопределенных значений. Значения в этом нумерованном списке называются перечислениями.

Используя перечисления, можно уменьшить количество ошибок в вашем коде.

Например, если мы рассмотрим приложение для магазина свежих соков, можно было бы ограничить размер стакана маленьким, средним и большим. Это гарантирует, что это не позволит никому заказывать любой размер, кроме малого, среднего или большого.

пример

Попробуйте использовать следующий код, чтобы понять, как работает перечисление в Solidity.

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);
   }
}

Запустите указанную выше программу, следуя инструкциям в главе « Первое приложение Solidity» .

Первый клик setLarge Нажмите кнопку, чтобы установить значение БОЛЬШОЕ, затем нажмите getChoice чтобы получить выбранный выбор.

Вывод

uint8: 2

Нажмите getDefaultChoice Кнопка, чтобы получить выбор по умолчанию.

Вывод

uint256: 1