問題一覧に戻る
中級データ型
問題35: 列挙型(enum)

Solidityの列挙型を学習します - 名前付き定数のセットを定義する列挙型です。列挙型はマジックナンバーを意味のある名前に置き換えることでコードの可読性を向上させます。内部的には0から始まる符号なし整数として表現されます。列挙型は状態(Active、Paused、Stopped)、選択肢(Small、Medium、Large)、または固定オプションセットの表現に最適です。無効な値を防ぎ、コントラクトをより保守しやすくします。列挙型の理解はクリーンで自己文書化されたスマートコントラクトの作成の鍵です。

pragma solidity ^0.8.0;

contract EnumExample {
// 列挙型の定義
Status {
Pending,
Processing,
Completed,
Cancelled
}

// enum変数の宣言
public currentStatus;

// enumの値を設定
function startProcessing() public {
currentStatus = Status.;
}

// enumの値をチェック
function isCompleted() public view returns (bool) {
return currentStatus == Status.;
}
}