【发布时间】:2019-02-21 02:27:49
【问题描述】:
我只是将 Kotlin 作为 Project Euler 的一个有趣的副项目来学习。我刚刚在 5 分钟前开始使用 IntelliJ IDEA。
我有这个代码:
fun Number.isMultipleOf(n: Number): Boolean {
return this % n == 0
}
fun main(args: Array<String>){
println(10.isMultipleOf(5))
}
编译错误是这样的:
Kotlin: Unresolved reference. None of the following candidates is applicable because of receiver type mismatch:
@Deprecated @InlineOnly public inline operator fun BigDecimal.mod(other: BigDecimal): BigDecimal defined in kotlin
我在 Java、Python、C++ 和 Swift 方面经验丰富,所以我认为 Kotlin 不应该是那么大的挑战。但是WTF是“接收器类型”?
如何在从 Number 类扩展中获得所需功能的同时修复此编译错误?
【问题讨论】: