关于Kotlin扩展功能的问题

时间:2018-08-31 18:17:37

标签: kotlin

实现扩展函数Int.r()和Pair.r()并使它们将Int和Pair转换为RationalNumber。

fun Int.r():RationalNumber = TODO()// RationalNumber(this,1)

有趣的Pair.r():RationalNumber = TODO()// RationalNumber(第一,第二)

数据类RationalNumber(val分子:Int,val分母:Int)

我不知道为什么它们是正确的答案,请帮帮我!

1 个答案:

答案 0 :(得分:0)

如果您问是否可行,答案是否定的。

如果您问如何使它起作用,答案是:

data class RationalNumber(val numerator: Int, val denominator: Int)

fun Int.r() = RationalNumber(this, 1)

fun Pair<Int, Int>.r() = RationalNumber(this.first, this.second)

您可以很好地使用Int函数,但使用Pair时,必须包括第一个和第二个对象的类型。