gpt4 book ai didi

scala - 用for和yieldscala交换数组值

转载 作者:行者123 更新时间:2023-12-04 08:56:45 24 4
gpt4 key购买 nike

我正在尝试使用for和yield交换数组中的每对值,到目前为止,我还是很失败。我尝试过的如下:

val a = Array(1,2,3,4,5) //What I want is Array(2,1,4,3,5)

for(i<-0 until (a.length-1,2),r<- Array(i+1,i)) yield r

上面给出的代码段返回向量2,1、4、3(省略5)

有人可以指出我在这里做错了什么,以及如何使用for和yields获得正确的逆转吗?

谢谢

最佳答案

如果您不使用for/yield:

a.grouped(2)
.flatMap{
case Array(x,y) => Array(y,x)
case Array(x) => Array(x)
}.toArray // Array(2, 1, 4, 3, 5)
会更容易

关于scala - 用for和yieldscala交换数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10158405/

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