Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Intellij idea Kotlin koans不工作了?我疯了吗?_Intellij Idea_Kotlin - Fatal编程技术网

Intellij idea Kotlin koans不工作了?我疯了吗?

Intellij idea Kotlin koans不工作了?我疯了吗?,intellij-idea,kotlin,Intellij Idea,Kotlin,Kotlin koan 3,“默认参数”看起来很简单,但我无法解决它: fun foo(name: String = "", number: Int = 42, toUpperCase: Boolean = false): String { if(!toUpperCase) return name+number else return name.toUpperCase()+number } fun task3(): String { //

Kotlin koan 3,“默认参数”看起来很简单,但我无法解决它:

fun foo(name: String = "", number: Int = 42, toUpperCase: Boolean = false): String {
    if(!toUpperCase)
        return name+number
    else
        return name.toUpperCase()+number
}

fun task3(): String {
//    todoTask3()
        return ( foo("a") +
            foo("b", number = 1) +
            foo("c", toUpperCase = true) +
            foo(name = "d", number = 2, toUpperCase = true))
}
第一个“+”符号在Intellij中标记为错误,并带有一个很长的堆栈跟踪:

Error:(27, 22) Kotlin: Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: 
@InlineOnly public operator inline fun BigDecimal.plus(other: BigDecimal): BigDecimal defined in kotlin
@InlineOnly public operator inline fun BigInteger.plus(other: BigInteger): BigInteger defined in kotlin
public operator fun <T> Array<???>.plus(elements: Array<out ???>): Array<???> defined in kotlin.collections
public operator fun <T> Array<???>.plus(elements: Collection<???>): Array<???> defined in kotlin.collections
public operator fun <T> Array<String>.plus(element: String): Array<String> defined in kotlin.collections
public operator fun BooleanArray.plus(element: Boolean): BooleanArray defined in kotlin.collections
public operator fun BooleanArray.plus(elements: BooleanArray): BooleanArray defined in kotlin.collections
public operator fun BooleanArray.plus(elements: Collection<Boolean>): BooleanArray defined in kotlin.collections
public operator fun ByteArray.plus(element: Byte): ByteArray defined in kotlin.collections
public operator fun ByteArray.plus(elements: ByteArray): ByteArray defined in kotlin.collections
public operator fun ByteArray.plus(elements: Collection<Byte>): ByteArray defined in kotlin.collections
@InlineOnly public operator inline fun Char.plus(other: String): String defined in kotlin.text
public operator fun CharArray.plus(element: Char): CharArray defined in kotlin.collections
public operator fun CharArray.plus(elements: CharArray): CharArray defined in kotlin.collections
public operator fun CharArray.plus(elements: Collection<Char>): CharArray defined in kotlin.collections
public operator fun DoubleArray.plus(element: Double): DoubleArray defined in kotlin.collections
public operator fun DoubleArray.plus(elements: DoubleArray): DoubleArray defined in kotlin.collections
public operator fun DoubleArray.plus(elements: Collection<Double>): DoubleArray defined in kotlin.collections
public operator fun FloatArray.plus(element: Float): FloatArray defined in kotlin.collections
public operator fun FloatArray.plus(elements: FloatArray): FloatArray defined in kotlin.collections
public operator fun FloatArray.plus(elements: Collection<Float>): FloatArray defined in kotlin.collections
public operator fun IntArray.plus(element: Int): IntArray defined in kotlin.collections
public operator fun IntArray.plus(elements: IntArray): IntArray defined in kotlin.collections
public operator fun IntArray.plus(elements: Collection<Int>): IntArray defined in kotlin.collections
public operator fun LongArray.plus(element: Long): LongArray defined in kotlin.collections
public operator fun LongArray.plus(elements: LongArray): LongArray defined in kotlin.collections
public operator fun LongArray.plus(elements: Collection<Long>): LongArray defined in kotlin.collections
public operator fun ShortArray.plus(element: Short): ShortArray defined in kotlin.collections
public operator fun ShortArray.plus(elements: ShortArray): ShortArray defined in kotlin.collections
public operator fun ShortArray.plus(elements: Collection<Short>): ShortArray defined in kotlin.collections
public operator fun String?.plus(other: Any?): String defined in kotlin
public operator fun String?.plus(other: Any?): String defined in kotlin
public operator fun <T> Collection<???>.plus(elements: Array<out ???>): List<???> defined in kotlin.collections
public operator fun <T> Collection<???>.plus(elements: Iterable<???>): List<???> defined in kotlin.collections
public operator fun <T> Collection<???>.plus(elements: Sequence<???>): List<???> defined in kotlin.collections
public operator fun <T> Collection<String>.plus(element: String): List<String> defined in kotlin.collections
public operator fun <T> Iterable<???>.plus(elements: Array<out ???>): List<???> defined in kotlin.collections
public operator fun <T> Iterable<???>.plus(elements: Iterable<???>): List<???> defined in kotlin.collections
public operator fun <T> Iterable<???>.plus(elements: Sequence<???>): List<???> defined in kotlin.collections
public operator fun <T> Iterable<String>.plus(element: String): List<String> defined in kotlin.collections
public operator fun <K, V> Map<out ???, ???>.plus(pairs: Array<out Pair<???, ???>>): Map<???, ???> defined in kotlin.collections
public operator fun <K, V> Map<out ???, ???>.plus(pair: Pair<???, ???>): Map<???, ???> defined in kotlin.collections
public operator fun <K, V> Map<out ???, ???>.plus(pairs: Iterable<Pair<???, ???>>): Map<???, ???> defined in kotlin.collections
public operator fun <K, V> Map<out ???, ???>.plus(map: Map<out ???, ???>): Map<???, ???> defined in kotlin.collections
public operator fun <K, V> Map<out ???, ???>.plus(pairs: Sequence<Pair<???, ???>>): Map<???, ???> defined in kotlin.collections
public operator fun <T> Set<???>.plus(elements: Array<out ???>): Set<???> defined in kotlin.collections
public operator fun <T> Set<???>.plus(elements: Iterable<???>): Set<???> defined in kotlin.collections
public operator fun <T> Set<???>.plus(elements: Sequence<???>): Set<???> defined in kotlin.collections
public operator fun <T> Set<String>.plus(element: String): Set<String> defined in kotlin.collections
public operator fun <T> Sequence<???>.plus(elements: Array<out ???>): Sequence<???> defined in kotlin.sequences
public operator fun <T> Sequence<???>.plus(elements: Iterable<???>): Sequence<???> defined in kotlin.sequences
public operator fun <T> Sequence<???>.plus(elements: Sequence<???>): Sequence<???> defined in kotlin.sequences
public operator fun <T> Sequence<String>.plus(element: String): Sequence<String> defined in kotlin.sequences
所以它实际上返回了“kotlin.Unit”


我在做什么蠢事?

你能让附近的某个地方有一个超负荷的
foo
获取一个参数并返回
Unit
?谢谢Ilya,帮我找到了它-在类路径中包含了一个不同的文件和一个foo(a:Any?)方法
Failure: 
Expected :a42b1C42D2
Actual   :kotlin.Unitb1C42D2