수색…
통사론
- 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