5

나는 바이트 값에 일치하지만 난 @switch를 추가 할 때 그것이 말하는이 pattern match 한 :스칼라가이 일치 항목을 스위치에 최적화 할 수없는 이유는 무엇입니까?

스위치가 주석 경기를

을 @switch을 방출하지 수는 무엇을 나는 여기에 놓치고?

  • Java 인터페이스에이 상수를 이동 및 public static final byte 필드를 사용하여 표시
  • (나는 또한 시도를 그들에게 대신 byteint을) : 이미 시도하고 작동하지 않았다 무엇을 참고하시기 바랍니다

    , 스칼라 Message 동반자에서 final val과 필드는

  • 는 동반자 객체
@inline 등의 필드를 표시 객체

나는 분명히 여기에서 길을 잃었다.

+0

[불가능] (http://www.scala-lang.org/api/current/index.html#scala.annotation.switch) : '비 문자 그대로 스위치 생성을 막을 수 있습니다 : 컴파일되지 않습니다' . – senia

+0

이 게시물에는 질문이 불완전한 링크가 포함되어 있습니다. 원본 포스터가 아직 남아있는 경우 – lijat

+0

에 올바른 링크가 포함되어 있음을 고칠 수 있습니까? –

답변

2

발스 최종 제작과 Byte 주석 제거 된 scala-user 포럼에서 제공 한 답 :

object Message { 
    final val Authentication = 'R' 
    final val BackendKeyData = 'K' 
    final val Bind = 'B' 
    final val BindComplete = '2' 
} 

는 이제 @switch 올바르게은 lookupswitch 생성 (그것이 tableswitch을 생성하지 않습니다하지만 충분히 좋은) .

관련 문제