repeat
같은 값을 n번 만들어 냅니다 — 패딩과 짝짓기에 쓰기 좋은, 지연 평가되는 유한 소스입니다.
Iterable<T> repeat<T>(int n, T value)
강의
repeat(n, value)는 value를 정확히
n번 만들어 낸 뒤 멈춥니다 — 이 섹션의 다른 생성기들과
마찬가지로 유한하고 지연 평가됩니다. 매번 같은 값
(원시 타입이 아니라면 같은 객체 참조)을 반복한다는 점에 유의하세요.
반복마다 새로운 값이 필요하다면 repeat이 팩토리 함수를
호출해 주기를 기대하지 말고, 결과에 map을 거는 식으로
따로 만들어 내야 합니다.
다른 것과 짝지어 쓸 때 가장 유용합니다. 길이가 정해지지 않은 시퀀스와
zip해서 모든 원소에 상수 라벨을 붙이거나,
fx(...).join()으로 고정 폭 구분선 문자열을 만들 수 있습니다.
repeat(0, value)는 빈 이터러블을 얻는 지극히 정상적인
사용법입니다.
값 하나가 아니라 시퀀스 전체를 반복하고 싶다면 — 게다가 정해진
n번이 아니라 무한히 계속하고 싶다면 — 다음에 다룰
cycle이 그 역할을 합니다.
데모 1 · 기본
데모 2 · 상수를 가변 길이 시퀀스와 짝짓기
repeat은 매번 똑같은 값을 만들어 냅니다 —
zip과 함께 쓰면 길이가 정해지지 않은 시퀀스에 상수를
붙일 수 있습니다.
직접 해 보기
연습: repeat을 사용해 값 7이 5개 들어 있는
List<int>를 만들어 보세요.