2017-10-02 10 views
0

私は折り畳む関数のリストを照合しようとしています。 これまでに行ってきましたが、今回はこれらの関数が持つパラメータには、同じ基本クラスを継承するオブジェクトのリストがあります。ジェネリックパラメータを持つ関数のリスト

Scalaではこれの構文は何ですか?

ここに私の瞬間があります。

val tasks: List[(List[_ <: MyBaseClass]) => String] = List(
    functionOne, 
    functionTwo, 
    functionThree 
) 
+2

「List [MyBaseClass]」だけではないのはなぜですか? –

答えて

1

各機能がT独自のを持っている場合は、List[(List[T] => String) forSome { type T <: MyBaseClass }]を必要としています。 Tがリスト内のすべての機能で同じである場合(ただし、事前にわからない場合)は、List[List[T] => String] forSome { type T <: MyBaseClass }です。現在のタイプはList[(List[T] forSome { type T <: MyBaseClass }) => String]と同じです。 Listは共変であるため、List[_ <: MyBaseClass]List[MyBaseClass]に相当します。

関連する問題