問題タブ [scala-reflect]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
932 参照

scala - クラス型を Scala の関数に渡す

この署名を持つ関数があります。

通常、私は次のように呼び出します。

項目の型が変数に格納されている場所から呼び出す必要があります。

Reflect または returnType を使用する必要があると思いますが、ジェネリック型を渡すにはどうすればよいですか?

0 投票する
0 に答える
33 参照

scala - Scalaジェネリックの互換性を反射的に決定する

ターゲットの型 (たとえばList[String]) とオブジェクト o が与えられた場合、目標は、ターゲットの型と互換性のある戻り値の型を持つ o のメソッドを見つけることです。

ジェネリックがない場合は、 from<:<演算子 (Java の のスカラ リフレクション アナログ)を使用してメソッドのターゲット型と戻り値の型を比較す​​ることで、これを確認できます。isAssignableFromscala.reflect.runtime.universe

このアプローチは、ジェネリックが存在する場合には機能しません。たとえば、メソッドの戻り値の型が をdef getEmptyList[T]: List[T] = Nil満たしていませんList[T] <:< List[String]getEmptyList[T]の戻り値の型が実際に と互換性があることをどのように判断 しList[String]ますか?

0 投票する
1 に答える
2200 参照

scala - Spark/scala は、特性のジェネリックを使用して空のデータセットを作成します

型パラメーターを受け取るという特性があり、そのメソッドの 1 つは空の型付きデータセットを作成できる必要があります。

これまでのところ、私はそれを機能させていません。それは不平を言いますno ClassTag for T、そしてそれはvalue toDS is not a member of org.apache.spark.rdd.RDD[T]

どんな助けでも大歓迎です。ありがとう!