Enumerations
We have briefly touched on the concept of enumerations while discussing the layout of the Solidity file earlier in this chapter. Enums are value types comprising a pre-defined list of constant values. They are passed by values and each copy maintains its own value. Enums cannot be declared within functions and are declared within the global namespace of the contract.
Predefined constants are assigned consecutively, increasing integer values starting from zero.
The code illustration shown next declares an enum
identified as a status consisting of five constant values—created
, approved
, provisioned
, rejected
, and deleted
. They have integer values 0
, 1
, 2
, 3
, 4
assigned to them.
A instance of enum
named myStatus
is created with an initial value of provisioned
.
The returnEnum
function returns the status and it returns the integer value. It is to be noted that web3
and Decentralized Applications (DApp) do not understand an enum
declared within a contract. They will get an integer value...