gpt4 book ai didi

kotlin - 如何创建一个 "forEach"返回一个对象,该对象是消费函数的接收者?

转载 作者:行者123 更新时间:2023-12-01 12:16:33 24 4
gpt4 key购买 nike

我试图在一长串“流”操作中做这样的事情。

fun main(args: Array<String>) {
"test1, test2, test3".split(", ")
.toCustomString(StringBuilder(), StringBuilder::append)
}

fun <T, R>Iterable<T>.toCustomString(obj: R, thing: R.(T) -> Unit): R {
this.forEach {
obj.thing(it)
}
return obj
}

但这不起作用,它说没有为 StringBuilder::append 找到任何功能不能在这里应用。有没有办法让我做这样的工作?

最佳答案

您正在尝试将具有不同签名的方法引用用于接收器函数。您可以通过提供 lambda 来使其工作。或者正如其他答案指出的那样,更改接收器函数的签名。

fun main(args: Array<String>) {
"test1, test2, test3".split(", ")
.toCustomString(StringBuilder(), { item -> append(item) })
}

关于kotlin - 如何创建一个 "forEach"返回一个对象,该对象是消费函数的接收者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47738436/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com