1. 스트림끼리 연결
Stream(1, 2) #::: Stream(3, 4) // Stream(1, 2, 3, 4)
2. 우측 스트림의 요소로 삽입
100 #:: Stream(3, 4) // Stream(100, 3, 4)
3. 우측 스트림의 요소로 삽입 2
Stream.cons(Stream(1, 2), Stream(3, 4)) // Stream(Stream(1, 2), 3, 4)
4. 빈 스트림
Stream.empty // 새로운 빈 스트림
Stream.Empty // 패턴 매칭 case문에서 사용
5. 시드값으로부터 일정 수만큼 더해져 나가는 스트림
Stream.from(1, 2) // Stream(1, 3, 5, 7 ...)
6. 시드값으로부터 계산되어가는 스트림
Stream.iterate(2)(s => s * 2) // Stream(2, 4, 8, 16 ...)
7. 일정 수만큼 채워넣어진 스트림
Stream.fill(5)(100) // Stream(100, 100, 100, 100, 100)
8. 0부터 시작하는 인덱스에 연산된 스트림
Stream.tabulate(5)(s => s * 2) // Stream(0, 2, 4, 6, 8)
9. 스트림 값 가져오기
val stream = Stream.range(1, 100) // Stream(1, 2, 3, ..., 100)
stream.take(2) // Stream(1, 2)
stream(10) // 11
'Scala' 카테고리의 다른 글
Scala로 풀어본 개미수열(읽고 말하기 수열) (0) | 2017.02.15 |
---|---|
Scala에서의 map/flatmap, for (0) | 2017.02.11 |
Scala에서 꼬리재귀와 트램폴린, Stream (0) | 2017.02.09 |
SBT Jar Build (0) | 2016.12.29 |
JavaFX with Scala? (0) | 2016.12.29 |