Solidez - Enums

Enums restringem uma variável para ter apenas alguns valores predefinidos. Os valores nesta lista enumerada são chamados de enums.

Com o uso de enums, é possível reduzir o número de bugs em seu código.

Por exemplo, se considerarmos um aplicativo para uma loja de sucos naturais, seria possível restringir o tamanho do vidro para pequeno, médio e grande. Isso garantiria que ninguém pudesse fazer pedidos de qualquer tamanho que não fosse pequeno, médio ou grande.

Exemplo

Tente o código a seguir para entender como o enum funciona no 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);
   }
}

Execute o programa acima usando as etapas fornecidas no capítulo Aplicativo Solidity First .

Primeiro clique setLarge Botão para definir o valor como GRANDE e clique em getChoice para obter a escolha selecionada.

Resultado

uint8: 2

Clique getDefaultChoice Botão para obter a escolha padrão.

Resultado

uint256: 1