Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 그라파나
- 파이썬 강좌
- 이더리움
- 파이썬
- 플레이프레임워크
- 블록체인
- 파이썬 데이터분석
- 주키퍼
- Play2
- 안드로이드 웹뷰
- 파이썬 머신러닝
- akka 강좌
- Play2 로 웹 개발
- Actor
- 하이퍼레저 패브릭
- 스위프트
- play2 강좌
- 엔터프라이즈 블록체인
- 스칼라 동시성
- 파이썬 동시성
- Hyperledger fabric gossip protocol
- Adapter 패턴
- 스칼라
- hyperledger fabric
- Golang
- 스칼라 강좌
- Akka
- CORDA
- play 강좌
- 하이브리드앱
Archives
- Today
- Total
HAMA 블로그
스칼라 강좌 (32) - 가변 인자 처리 ( * 과 _* ) 본문
스칼라에서의 가변인자
1. 간단 예제
object test {
def func[T](xs:T*) = xs.foreach(x => println(x))
def main(arg : Array[String]): Unit ={
func(0,1,2)
}
}
(xs : T*) 처럼 타입뒤에 * 를 붙혀주면 됩니다.
2. 컬렉션은 _* 를 붙여줍니다.
object test {
def sum(xs:Int*):Int = if (xs.isEmpty) 0 else xs.head + sum(xs.tail:_*)
def main(arg : Array[String]): Unit ={
println(sum(0,1,2,3)) // OK !
val ns = List(1, 3, 5)
println(sum(ns:_*)) // OK!
println(sum(List(1, 3, 5))) // Not Good
}
}
: _* 를 붙여줌으로써 컴파일러에게 가변인자라는것을 알려줍니다.
'Scala' 카테고리의 다른 글
스칼라 강좌 (35) lambda 익숙해지기 (0) | 2017.02.17 |
---|---|
스칼라 강좌 (34) 동시성을 위한 Future (0) | 2017.02.16 |
스칼라 강좌 (32) -타입기초/ 타입별칭 /추상 타입/ 타입 경계 / 변성 (0) | 2016.12.07 |
스칼라 강좌 (31) - 스칼라에서 사용되는 심볼들 (0) | 2016.12.07 |
스칼라 강좌 (30) - type projection ( # 에 관하여) (0) | 2016.12.06 |
Comments