如何在溪流中破坏Kotlin物体

Žel*_*lić 4 kotlin

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

list
    .zip(list.reverse)
    .foreach{case (x, y) => println(s"$x $y")}
Run Code Online (Sandbox Code Playgroud)

我怎么能在Kotlin那样做?似乎只为赋值和循环支持析构函数.

vod*_*dan 7

在Kotlin 1.0使用另一个val声明:

list.foreach{val (x, y) = it; println(s"$x $y")}
Run Code Online (Sandbox Code Playgroud)

该团队表示他们已经在开发该功能(语法保留),他们希望能够在Kotlin 1.1中获得它:

list.foreach{(x, y) -> println(s"$x $y")}
Run Code Online (Sandbox Code Playgroud)