6
Seq[String]
을 String*
으로 변환하는 데 :_*
을 사용하고 있는데 어떻게 작동하는지 이해할 수 없다는 것을 깨달았습니다.어떻게 : _ * 정렬 된 콜렉션을 변수 arg리스트로 변환합니까?
이것에 대해 간단한 방법이 있습니까?
Seq[String]
을 String*
으로 변환하는 데 :_*
을 사용하고 있는데 어떻게 작동하는지 이해할 수 없다는 것을 깨달았습니다.어떻게 : _ * 정렬 된 콜렉션을 변수 arg리스트로 변환합니까?
이것에 대해 간단한 방법이 있습니까?
String*
은 Seq[String]
으로 전달됩니다. 그것은 모든 단지 문법 설탕입니다 : 단지 의미
def blah(ss: String*) = {...}
blah("Hi","there")
def blah(ss: Seq[String]) = {...}
blah(Seq("Hi", "there"))
및 :_*
로 설정되어 "설탕을 잡고, 난 이미 당신이 필요있어 - 서열을!"
즉 Seq의 방법은 아니며 다른 설탕과 같은 특수 연산자입니까? :) – tuxSlayer
@tuxSlayer - 맞아. ':'는'val x : Int' ('x'는'Int' 타입입니다)에서와 같이 "is is type"을 의미합니다. 그래서'_ *'는 일종의 타입이어야합니다 ("당신은 varargs를 원하지만, 여기를 보아라, 나는 이미 Seq!"타입이다). 좋아요, 진짜 유형은 아니지만 최소한 설탕은 구문 상으로 일관됩니다. –
자, 고마워. 그냥 오늘 나는 도서관에서이 방법을 찾고 시간을 보냈다. :) 이제는 분명하다. – tuxSlayer