如何在流中分解Kotlin对象

如何在流中分解Kotlin对象,kotlin,Kotlin,在Scala中,我可以使用分部函数轻松地从对象(例如元组)中提取值: list .zip(list.reverse) .foreach{case (x, y) => println(s"$x $y")} 在科特林我怎么能做到?似乎只有赋值和循环才支持析构函数。在Kotlin 1.0中使用附加的val声明: list.foreach{val (x, y) = it; println(s"$x $y")} 该团队表示,他们已经在开发该功能(语法是保留的),希望能在Kotli

在Scala中,我可以使用分部函数轻松地从对象(例如元组)中提取值:

list
    .zip(list.reverse)
    .foreach{case (x, y) => println(s"$x $y")}

在科特林我怎么能做到?似乎只有赋值和循环才支持析构函数。

在Kotlin 1.0中使用附加的
val
声明:

list.foreach{val (x, y) = it; println(s"$x $y")}
该团队表示,他们已经在开发该功能(语法是保留的),希望能在Kotlin 1.1中实现:

list.foreach{(x, y) -> println(s"$x $y")}

这是模式匹配,不是局部函数。而且Kotlin不支持它(不幸的是),但它确实适用于具有分解结构的元组。我们需要更多关于您的列表类型的信息来帮助您。仅供参考,“部分函数”听起来像“部分应用程序”,或者说是咖喱,这在这里是完全不同和混乱的context@voddan我指的是部分定义的函数。@eljkoTrogrlić是的,Scala确实使用了这个术语。只是用谷歌搜索了一下。对不起打扰你了。非常感谢。