compact 함수
compact 함수 (compact Function)
compact 함수는 문자열 리스트를 받아 null이나 빈 문자열 요소를 제거한 새 리스트를 반환해요. 리스트에서 의미 없는 빈 값들을 깔끔하게 걸러내고 싶을 때 사용해요.
출처: 문서
본문
compact 함수는 문자열 리스트를 받아 null이나 빈 문자열 요소를 제거한 새 리스트를 반환해요.
예시 (Examples)
> compact(["a", "", "b", null, "c"])
[
"a",
"b",
"c",
]
빈 문자열("")과 null이 모두 제거되고 "a", "b", "c"만 남는 것을 확인할 수 있어요.
실제로는 CI/CD 파이프라인에서 변수 리스트를 만들다 보면 빈 값이나 null이 섞여 들어오는 경우가 많아요. compact는 var.list 같은 사용자 입력 리스트에서 빈 항목을 걸러낼 때 가장 자주 쓰여요. 예를 들어 사용자가 택한 태그 목록 중 비어 있는 항목을 제거하고 실제로 유효한 태그만 리소스에 적용하고 싶을 때 유용해요. 다만 compact는 안쪽 요소의 타입이 모두 문자열이라고 가정하므로, 숫자가 섞인 리스트에서는 변환 오류가 날 수 있다는 점도 참고해요.
실전 사용 팁
locals {
filtered_tags = compact(var.optional_tags)
}
resource "aws_instance" "example" {
# ...
tags = { for t in local.filtered_tags : t => t }
}
이렇게 하면 var.optional_tags에서 null이나 빈 문자열 요소가 모두 제거된 깨끗한 리스트가 만들어져요.
더 알아보기 (Learn more)
- 컬렉션 함수 — 다른 컬렉션 함수들
distinct함수 — 중복 제거coalesce함수 — 첫 번째 비어 있지 않은 값