2017-12-27 3 views
3

Javaユーザー向けに用意しなければならないタイプタグを持つScalaコードがあります。私の問題は、以下を解決することに沸きます。タイプタグを手動で作成する

2つのScala型タグが与えられた場合、どのようにしてTuple2 [A、B]の型タグを手動で作成できますか?

それはどんな違いをした場合、私の具体的なケースは少し簡単です: 私はAのための1つのタイプのタグを持っていると私は

答えて

4

タイプタグは通常として使用されている[文字列、A] Tuple2の型のタグを作成する必要があります暗黙的なシステムはそれらに非常に精通しています。あなたが望むタイプをScalaに教えて、それを暗黙的に求めてください。

def tupleTag[A : TypeTag, B: TypeTag]: TypeTag[Tuple2[A, B]] = implicitly 

インスタンス化することができる場合、Scalaはそうします。できない場合は、コンパイラエラーです。この場合、ABは既に(タグがあるという点で)具体的なので、Tuple2[A, B]も常に具体的になります。

+0

あなたと暗黙の魔法:) – harel

関連する問題