Menu
Coddy logo textTech

열거형

Coddy Solidity 여정의 기초 섹션에 포함된 레슨. 53개 중 44번째.

열거형은 이름이 지정된 선택지의 작은 집합을 정의합니다. 멤버를 순서대로 선언한 다음, TypeName.MemberName 형식으로 멤버를 참조합니다. 첫 번째 멤버의 숫자 값은 0이고, 다음 멤버의 값은 1이며, 이런 식으로 이어집니다. 이름이 지정된 선택지를 사용하면 설명이 없는 숫자보다 상태를 더 쉽게 읽을 수 있습니다.

계약 범위에서 다음을 선언합니다:

enum Phase { Waiting, Packing, Complete }

제공된 main 함수 안에서 사용합니다:

Phase phase = Phase.Packing;
console.log(uint256(phase));

선언에는 Waiting, Packing, Complete가 나열됩니다. Packing은 두 번째 멤버이므로 1로 변환됩니다. 임의의 숫자를 열거형으로 변환할 때 숫자가 정의된 범위를 벗어나면 되돌릴 수 있으므로, 여기에서는 이름이 지정된 멤버를 사용하세요.

열거형 멤버는 선언 순서에 따라 0부터 시작하는 숫자 값을 가집니다.

challenge icon

챌린지

쉬움

enum Mode를 Idle, Running, Finished 순서로 선언하세요. active가 true이면 Running을 선택하고, 그렇지 않으면 Idle을 선택한 다음 숫자 값을 출력하세요.

테스트는 다음 순서로 main에 인수를 전달합니다: bool active. 각 테스트는 새로운 컨트랙트 상태로 시작합니다.

요청된 출력을 위해 console.log를 사용하세요. 요청된 값만 한 줄에 하나씩 출력하고, 과제에서 지정하지 않는 한 추가 레이블은 출력하지 마세요.

직접 해보기

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
    function main(bool active) external view {
        // 여기에 솔루션을 작성하세요.
    }
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨

직접 연습해 보세요: Solidity 플레이그라운드