Tag: 参数传递

如何将参数传递给Kotlin中的匿名lambda函数?

我想在Kotlin中编写一个匿名的lambda函数,但看起来并不需要传递给它的参数。 (它根本不会被传递,因为IDE提示“ 变量名”从不使用 “)。 码: var name = "Tobias Boon" println("reverse=" + fun(name: String): String { var t: String = "" for(i in name.indices.last downTo 1) { t += text.subSequence(i – 1, i) } return t }) 目前打印: reverse=(kotlin.String) -> kotlin.String

以Vararg为第一参数的Kotlin方法

注意我已经看了下面的问题/答案,没有任何运气来解决问题。 从Kotlin调用Java Varargs方法 – 这个在参数列表的末尾有可变参数,但是我的问题是在参数列表的开头处理可变参数。 Kotlin:将列表转换为Java可变参数 – 相同。 其他搜索产生相同的东西。 这些是我能找到的最接近的。 我使用单个字符分隔符来调用Kotlin String.split方法。 这是一个vararg参数方法,其中参数vararg是多个参数中的第一个参数。 该方法是这样定义的: public fun CharSequence.split(vararg delimiters: Char, ignoreCase: Boolean = false, limit: Int = 0): List<String> 当我调用下面的方法,它编译罚款: fun String.splitRuleSymbol() : String = this.split(':') //ok 但是,当我尝试添加ignoreCase和limit参数,我得到一个问题: fun String.splitRuleSymbol() : String = this.split(':', true, 2) //compiler error 我得到的错误是… 提供的参数不能调用以下函数: 公共乐趣CharSequence.split(可变分隔符:String,ignoreCase:Boolean = …,limit:Int = …):在kotlin.text中定义的列表 public […]