Set 모듈
Set 모듈
집합(set)을 다루기 위한 범용 API 모듈이에요. 다만 이 모듈은 더 이상 사용되지 않습니다(deprecated) — 집합을 다룰 때는 MapSet 모듈을 사용하세요.
출처: Set
본문
Set는 예전 Elixir 버전에서 집합 연산을 제공하던 모듈로, 지금은 MapSet으로 대체되었습니다. 아래 나열되는 모든 함수는 Using the MapSet module for working with sets라는 메시지와 함께 deprecated 처리되어 있어요. 코드베이스가 오래된 Elixir로 작성되어 Set를 쓰고 있다면 MapSet로 옮기는 게 좋습니다. 자세한 사용법은 MapSet 문서를 참고하세요.
타입(Types)
@type t() :: map()
@type value() :: any()
@type values() :: [value()]
t()— 집합의 타입. 내부적으로는map()으로 표현됩니다.value()— 집합에 담을 수 있는 값. 어떤 값이든 가능해요.values()—value()의 리스트입니다.
함수(Functions)
다음 함수들이 정의되어 있었고, 전부 deprecated입니다.
delete(set, value)
difference(set1, set2)
disjoint?(set1, set2)
empty(set)
equal?(set1, set2)
intersection(set1, set2)
member?(set, value)
put(set, value)
size(set)
subset?(set1, set2)
to_list(set)
union(set1, set2)
각 함수가 어떤 일을 하는지 감은 이름에서 바로 드러나요. put/2·delete/2는 값을 넣고 빼는 함수, union/2·intersection/2·difference/2는 집합 간 연산, member?/2·equal?/2·disjoint?/2·subset?/2는 판별 함수, size/1·to_list/1·empty/1은 집합 정보 조회 함수입니다.
이런 역할은 모두 MapSet에 그대로 이어져 있으므로, 새 코드에서는 MapSet의 put/2, union/2, intersection/2, difference/2, member?/2, size/1, to_list/1 등을 쓰면 돼요.