Josh Suerethの (素晴らしい) 投稿A Generic Quicksort in Scalaを読んでいました。特に興味深いのは、コレクションの型推論の延期に関する部分です。
これは非コレクションにも当てはまるのではないかと思います。次の 2 つの方法でFoo[T,O]
def sort1[T, O](from: T, to: T)(implicit ev: O <:< Ordering[T], ord: O):Foo[T,O] = {
...
}
def sort2[T, O <: Ordering[Int]](from: T, to: T)(implicit ord: O):Foo[T,O] = {
...
}
2 つの方法のうち、どちらが好まれますか。また、その理由は何ですか?
sort2(2,5)
sort1(2,5)
あいまいな暗黙的な解決エラーがあるため、コンパイラーはより多くの暗黙的なものを見つけたようです。