1
我找不到在泛型類定義中使用值而不是類或協議的方法。比如我們經常會發現一些矩陣類像SCNMatrix3
,SCNMatrix4
,而這將會是更好的,能夠定義一個更通用的Matrix<a, b>
,然後做這樣的事情:迅速使用值作爲通用
struct Mat<a is Int, b is Int> {
static func * (left: Mat<i, j>, right: Mat<k, l>) -> Mat<i, l> where j == k {
return ...
}
}
let m = Matrix<4, 5>(...)
let n = Matrix<5, 3>(...)
let p = Matrix<2, 2>(...)
let x = m * n
let y = m * p // compiler error since size mismatch
什麼是更優雅的方式來實現以上?
比較[通用向量與基數型安全](https://stackoverflow.com/questions/34342417/generic-vector-with-cardinality-type-safety)。 –