스위프트에서 유형을 "주어진 크기 세트"로 구성 할 수 있습니까? (Swift에서 종속 유형이 없어도 그럼에도 불구하고 그러한 구성이 가능합니까? 과도한 "뒤틀림?")없이 예로서주어진 크기를 스위프트 유형으로 설정합니다.
, I는 그 인스턴스 세트 (Hashable
) 정확히 두 개체 이루어진 T
입력 파라미터 화 된 형태 SetOfSizeTwo<T>
을 정의 할 수 있도록하려는 것이다.
struct SetOfSizeTwo<T> where T: Hashable {
var set = Set<T>(minimumCapacity: 2)
}
그러나,이 유형 2.
의 크기
업데이트로 재산 set
을 강요하지 않습니다
현재, 나는 가난한 사람의 프록시를 사용하고 있습니다 Ole Begemann의 블로그 기사 A hack for fixed-size arrays in Swift은 Swift 4에서 고정 크기 세트 유형의 견고한 구조가 가능하다면 중요하지 않다고 생각하게합니다.
내가 가장 좋은 건과 래퍼 클래스를 만드는 것입니다 생각을 사용자 정의 추가 및 제거 메소드. 그리고 기본 데이터 구조를 비공개로 설정하여 아무도이 데이터를 조작 할 수 없도록하십시오. – Michal
@Michal 귀하의 실질적인 제안에 감사드립니다. 기본적으로 컴파일 타임 제약 조건으로 설정 크기를 적용하고 이상적인 형식을 사용하려고합니다. 그러나 종속 유형에 대한 언어 지원 없이는 불가능하다고 생각합니다. – egnha