여기에 기본 예제가 있습니다. 저는 기존 클래스를 통해 또는 여러 매개 변수를 사용하여 2 가지 방법으로 클래스를 초기화하는 기능을 원한다는 것을 알기 위해 스칼라를 얻을 수 없습니다.스칼라에 다중 매개 변수 또는 시퀀스가있는 생성자?
I 수신 오류 :
는는이중 정의 : 방법이 적용 (PARAMS : 지능 *) chorle.scala.tests.MultiParam 및 방법이 적용 (PLIST를 :
서열 [지능]) 9 번째 줄에서 chorle.scala.tests.MultiParam는 삭제 한 후 같은 유형이 있습니다 (PARAMS 서열) chorle.scala.tests.MultiParam
좋아, 내가 여기에 무슨 일이 일어나고 있는지 얻을 - 두 기능의 원인이 후 컴파일 동일한 헤더 서명에서. 그러나 실제로는 같은 방식으로 작동하지 않습니다. 나는 envoke 할 수 없습니다. apply (Seq) 버전 만있는 경우 apply (1,2,3) ... apply (seq)를 적용 할 수 없습니다. 다른 방법으로. 나는 실제 함수 호출을 패치 할 수있는 여러 가지 방법을 알고 있지만이 문제를 클래스에서 한 번만 올바르게 해결하려면 어떻게해야합니까? 고맙습니다!
class MultiParam protected (pList:Seq[Int])
object MultiParam {
def apply(pList:Seq[Int]): MultiParam = new MultiParam(pList)
def apply(params: Int *): MultiParam = new MultiParam(params)
}
와, 내가 간과 0 인수 케이스! –