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>를 만들어 보세요.

관련 항목: range — 증가하거나 감소하는 정수의 지연 시퀀스 · cycle — 시퀀스 전체를 무한히 반복 · zip — repeat과 자주 함께 쓰이는 짝짓기 · fx — repeat을 보통 감싸는 체인