수색…


통사론

  • enum 식별자 { 생성자 }

개요

Haxe의 열거 유형은 대수 데이터 유형 (ADT)입니다. 주요 용도는 데이터 구조를 설명하는 것입니다. 열거 형enum 키워드로 표시되며 하나 이상의 열거 형 생성자를 포함 합니다.

enum Color {
    Red;
    Green;
    Blue;
    RGB(r : Int, g : Int, b : Int);
}

위의 enum은 다음과 같이 인스턴스화 될 수 있습니다.

var c1 = Color.Red;
var c2 = Color.RGB(255, 0, 0);

try.haxe.org 에서 예제를 시도해보십시오.

참고 문헌

enum 값 캡처

enum 생성자 인수로 전달 된 값은 패턴 일치 를 사용하여 변수에 캡처 할 수 있습니다.

다음 열거 형을 가정 해보십시오.

enum Color {
    RGB(r : Int, g : Int, b : Int);
    HSV(h : Int, s : Float, v : Float);
}

빨간색 채널 값은 다음과 같이 캡처 할 수 있습니다.

var color = Color.RGB(255, 127, 0);
var red = switch (color) {
    // Match the Color.RGB constructor and capture value into `r`
    case Color.RGB(r, _, _):
        // Return the captured red value
        r;
    // Catch-all for matching remaining constructors
    case _:
        // Return -1
        -1;
}

try.haxe.org 에서 예제를 시도해보십시오.

참고 문헌

일치하는 enum 생성자

열거 형 생성자는 패턴 일치를 사용하여 일치시킬 수 있습니다.

다음 열거 형을 가정 해보십시오.

enum Color {
    Red;
    Green;
    Blue;
    RGB(r : Int, g : Int, b : Int);
}

녹색 채널 값만있는 색상은 다음과 같이 일치시킬 수 있습니다.

var color = Color.RGB(0, 127, 0);
var isGreenOnly = switch (color) {
    // Match Green or RGB with red and blue values at 0
    case Color.RGB(0, _, 0) | Color.Green: true;
    case _: false;
}

try.haxe.org 에서 예제를 시도해보십시오.

참고 문헌



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow