문자열로 변환 된 열거 형 값을 보유하는 Seq에서 패턴 일치를 수행하는 가장 관용적 인 방법은 무엇입니까?

nmurthy

컬렉션에 보관 된 문자열로 변환 된 열거 형 값을 일치 시키려고합니다. 코드는 다음과 같습니다.

object Foo extends Enumeration {
    val ONE = Value("ONE")
    val TWO = Value("TWO")
}

def check(seq: Seq[String]): Unit = seq match {
    case Seq(Foo.ONE.toString) => println("match")
    case _ => println("no match")
}

이로 인해 컴파일 오류가 발생합니다.

error: stable identifier required, but Foo.ONE.toString found.
           case Seq(Foo.ONE.toString) => println("match")

내 Foo 열거 값을 내 패턴 일치 case 문의 요소로 사용하는 적절한 방법은 무엇입니까?

nmurthy

나는 @cchantep의 응답을 좋아하는데, 이것은 .toString패턴 매치 내부에서 호출하는 것을 피하고 check다음과 같이 메소드를 구현 하는 것이었다 .

def check(seq: Seq[Foo.Value]): Unit = seq match {
  case Seq(Foo.ONE) => println("match")
  case _ => println("no match")
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관