10.2.6 Option

10.2.6 Option

Option은 Haxe 표준 라이브러리의 enum이며 다음과 같이 정의됩니다:

enum Option<T> {
    Some(v:T);
    None;
}

메서드가 유효한 반환값을 가졌는지, 있다면 어떤 값인지 전달하는 것과 같은 다양한 상황에서 사용할 수 있습니다:

import haxe.ds.Option;

class Main {
  static public function main() {
    var result = trySomething();
    switch (result) {
      case None:
        trace("Got None");
      case Some(s):
        trace("Got a value: " + s);
    }
  }

  static function trySomething():Option<String> {
    if (Math.random() > 0.5) {
      return None;
    } else {
      return Some("Success");
    }
  }
}

출처: Option

더 알아보기