부분적으로 varargs로 카레 함수를 적용하는 것에 이상한 점이 있습니다. 이 예제를 고려하십시오부분적으로 적용된 함수를 varargs로 정의하고 호출 하시겠습니까?
def adder(a: Int)(b: Int*) = b.map(_ + a)
adder(1)(1,2,3,4) // res1: Seq[Int] = ArrayBuffer(2, 3, 4, 5)
val add2 = adder(2) _ // add2: Seq[Int] => Seq[Int]
add2(1,2,3,4) // Fails to compile
add2(Seq(1,2,3,4) // res3: Seq[Int] = List(3, 4, 5, 6)
나는 previous question의 알고 있지만, 나는 아직도 컴파일러는이 작업을 수행하는 이유와 이러한 경우 일부 영리한 해결책이 있는지 알고 싶습니다.