gpt4 book ai didi

scala - Scala元组解构

转载 作者:行者123 更新时间:2023-12-03 11:41:45 25 4
gpt4 key购买 nike

我是Scala的新手,遇到了一个烦人的小毛病。

并行初始化两个变量非常有用:var (x,y) = (1,2)
但是我找不到并行分配新值的方法:(x,y) = (x+y,y-x) //invalid syntax
我最终写了这样的东西:val xtmp = x+y; y = x-y; x = xtmp
我意识到编写功能代码是避免这种情况的一种方法,但是在某些情况下,使用var更有意义。

我有两个问题:

1)有更好的方法吗?我想念什么吗?

2)不允许进行真正的并行分配的原因是什么?

最佳答案

不幸的是,您不能在Scala中进行多个分配。但是,如果它们适合您的问题,则可以使用元组:

scala> var xy = (1,2)
xy: (Int, Int) = (1,2)

scala> xy = (xy._1 + xy._2, xy._2 - xy._1)
xy: (Int, Int) = (3,1)

这样, xy是一个具有两个值的元组。可以使用 xy._1访问第一个值,使用 xy._2访问第二个值。

关于scala - Scala元组解构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2776651/

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