如何在Kotlin中将Pair对象分解为两个变量
我有一个返回如何在Kotlin中将Pair对象分解为两个变量,kotlin,tuples,Kotlin,Tuples,我有一个返回对的函数: fun-createTuple(a:Int,b:Int):成对{ 返回对(a,b) } 我想使用此函数初始化变量a和b,然后在循环内重新分配它们: var(a,b)=createTuple(0,0) 对于(1..10中的i){ createTuple(i,-i)。让{ a=首先 b=它。秒 } println(“a=$a;b=$b”) } 使用let似乎很尴尬。有没有更好的方法来展开对内部循环 以下行不可编译: (a,b)=createTuple(i,-i) a、 b
对的函数
:
fun-createTuple(a:Int,b:Int):成对{
返回对(a,b)
}
我想使用此函数初始化变量a
和b
,然后在循环内重新分配它们:
var(a,b)=createTuple(0,0)
对于(1..10中的i){
createTuple(i,-i)。让{
a=首先
b=它。秒
}
println(“a=$a;b=$b”)
}
使用let
似乎很尴尬。有没有更好的方法来展开对
内部循环
以下行不可编译:
(a,b)=createTuple(i,-i)
a、 b=createTuple(i,-i)
var(a,b)=createPair(0,0)
对我来说编译得很好
您的问题可能是使用
createTuple(i,-i)
而不是createPair(i,-i)
不支持解构赋值。追踪器上有一个悬而未决的问题,已经有几年了。如果您使用run
而不是let
,则可以将it
s删除。您的问题不清楚您想要实现什么。在这里,您可以对(1..10中的i){a=i;b=-i}@SiddharthSharma执行,这是一个最小的示例。我的问题是关于解构作业的,答案是Tenfour04it@Sergey哈哈,好吧,那你的问题就可以小得多了。例如,“如何将对
对象分解为两个现有变量”对不起,这是一个复制/粘贴错误。我的答案是关于解构作业的,参见Tenfour04注释