2016-08-31 7 views
4
例えば

Kotlinでダックタイピング(暗黙インターフェイス)ジェネリックスを指定するにはどうすればよいですか?

// Not valid Kotlin code. 
fun <T : Summable> myFunction ... 
T : Summable

任意のタイプTを意味する、すなわち、定義.plus方法を有し、+オペレータをサポートします。

+0

可能であっても、その宣言に '.plus 'を使うのに十分な情報がありません。 '.plus'もどんなタイプを取ることができるかを指定する必要があります。 –

+0

密接に関連しています: "[Kotlin、Numberの汎用操作](https://stackoverflow.com/q/40587118/90527)" – outis

答えて

3

Kotlinにはこのような機能はなく、現時点では今後のリリース予定はありません。

1

GitHubのDucKtypesプロジェクトでは、「静的ダックタイピング」が可能です。例:

interface Summable { fun plus() } 
object x { fun plus(){ println("plus") } } 
fun myFunction(s : Summable){ s.plus() } 
myFunction(x) 

プロジェクトはまだかなり新しいですが、まもなくコード生成を自動化するためのgradle-pluginがあります。

関連する問題