2012-07-10 6 views
2

누군가이 오류를 이해하는 데 도움을 줄 수 있습니까? 스칼라에서 익명의 클래스 구조를 이해할 수 있다고 생각합니다. 그러나 하나 이상의 특성을 적용하려고 할 때 ";" 또는 성명서의 본질적인 끝. ? 나는 코드의 익명 구현 라인을 필요로 여러 특성과 함께 (물론 클래스 이런 식으로 선언하는 경우 동일한 문제가 라인 테스트 (3) 아래에 실패 적용 할 것으로 보인다 주셔서 감사합니다스칼라에서 여러 특성 생성 오류

class TestTraits 

trait A {def x:Int} 
trait B {def y:Int} 



object TestTraits { 

    def main(args: Array[String]): Unit = { 

    val test1 = new TestTraits with A {def x=22} //OK 

    val test2 = new TestTraits with B {def y=33} //OK 

    val test3 = new TestTraits with A {def x=22} with B {def y=33} //Errors: - ';' expected but 'with' 


    } 
} 

답변

5

귀하의 구문이 잘못되었습니다..

val test3 = new TestTraits with A with B {def x=22; def y=33} 

클래스 정의는 하나의 을 가지고 무엇을 선언하는 것은 익명 클래스입니다 수 있습니다. 내가 생성자 argu이 구문을 혼동했다

+0

많은 감사를 (이름 옆에 그들 자신의 params가있는) ments! – LaloInDublin