新しい型を導入することなく、 x の型がT
特定の関数シグネチャを実装するジェネリック型 (たとえば ) になるように、メソッドでパラメーター x を定義することは可能ですか?def apply() : Double
[例] 目標は次のようなものを定義することです (説明のためにアドホック構文を使用しています):
def foo(x : T with def apply() : Double) = { ... }
現在、新しい type を導入することはできApplyDouble
ますが、そのためには、インスタンスが有効なパラメーターであるすべての可能な型を 'foo' に拡張する必要があり、foo の署名は次のようになります。
def foo(x : ApplyDouble) = { ... }