昨日の続きを調べて、一応やりたかったことは実現できたのでブログにも書いておく。
サンプルコード
gist のコードの通りだけど、 Generics を使ってクラスの初期化時に Comparable に使う struct を渡せるようにしている。
こうやっておけば let array = [A<Q>()]
みたいに同じ Comparable の型に限定した Array が作れて型安全。
昨日の続きを調べて、一応やりたかったことは実現できたのでブログにも書いておく。
gist のコードの通りだけど、 Generics を使ってクラスの初期化時に Comparable に使う struct を渡せるようにしている。
こうやっておけば let array = [A<Q>()]
みたいに同じ Comparable の型に限定した Array が作れて型安全。