問題一覧に戻る
中級データ型
問題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.;
}
}