컬렉션에 보관 된 문자열로 변환 된 열거 형 값을 일치 시키려고합니다. 코드는 다음과 같습니다.
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 문의 요소로 사용하는 적절한 방법은 무엇입니까?
나는 @cchantep의 응답을 좋아하는데, 이것은 .toString
패턴 매치 내부에서 호출하는 것을 피하고 check
다음과 같이 메소드를 구현 하는 것이었다 .
def check(seq: Seq[Foo.Value]): Unit = seq match {
case Seq(Foo.ONE) => println("match")
case _ => println("no match")
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다