0
Swiftでは、タイプ「」を「所定のサイズのセット」に構成する方法があります(スウィフトに従属タイプがないにもかかわらず、それでも可能です例:の例では、ちょうど2つのオブジェクト(Hashable
)のタイプがT
のセットであるパラメータ化タイプSetOfSizeTwo<T>
を定義することができます。Swiftタイプの指定サイズのセット
:
struct SetOfSizeTwo<T> where T: Hashable {
var set = Set<T>(minimumCapacity: 2)
}
しかし、このタイプは2
のサイズであるプロパティset
を強制するものではありませんアップデート
Ole Begemannのブログ記事A hack for fixed-size arrays in Swiftは、スウィフト4の固定サイズセット型の堅牢な構築が可能な限り重要ではないと信じています。
私はあなたの最善の策は、とラッパークラスを作成することだと思いますカスタムの追加と削除の方法。また、基盤となるデータ構造を非公開にして、誰もそのデータ構造を変更することはできません。 – Michal
@Michalあなたの実践的な提案をありがとう。基本的には、コンパイル時の制約として設定されたサイズを強制したい、理想的には型を使用したい。しかし、私は依存型の言語サポートがなければ不可能だと思う。 – egnha