0

Swift では、特定のタイプの要素を含むシーケンスを拡張できます。たとえば、次のようになります。

extension SequenceType where Generator.Element == Rect {
  func intersection() -> Rect? { ... }
}

// when using
let intersection = [rect1, rect2, rect3].intersection()

これはいいです。Rect<Float>ただし、 Rect 自体がジェネリック型 (など)の場合、どうすれば同じことができRect<Double>ますか? 私は試した

extension SequenceType where Generator.Element == Rect<T>

しかし、コンパイラは「宣言されていない型 T」について不平を言います。どこに入れたらいいのかさっぱりわかりません。現在、すべての浮動小数点型に特化する必要があります。

4

0 に答える 0