0
在夫特套,有一個方法來構造一個類型的「集的給定尺寸的?」(儘管在夫特沒有依賴性類型的,是這樣的結構仍然可能沒有過多的「扭曲?」)給定尺寸爲夫特型
作爲一個例子,我希望能夠定義一個參數化類型SetOfSizeTwo<T>
,它的實例是由(Hashable
)類型T
正好兩個對象組成的集合。
目前,我使用的是窮人的代理:
struct SetOfSizeTwo<T> where T: Hashable {
var set = Set<T>(minimumCapacity: 2)
}
然而,這種類型不會強制屬性set
到是2
大小的更新
的博客文章A hack for fixed-size arrays in Swift,由Ole Begemann引導,我相信如果可能的話,在Swift 4中構建一個固定大小的類型是非常重要的。
我認爲最好的方法是創建一個包裝類自定義添加和刪除方法。並且讓底層的數據結構保密,這樣沒有人可以修補它。 – Michal
@Michal謝謝你的實際建議。基本上,我想強制設置大小作爲編譯時間約束,理想情況下使用類型。但是我懷疑如果沒有依賴類型的語言支持,這是不可能的。 – egnha