gpt4 book ai didi

scala - 在scala中交换两个变量

转载 作者:行者123 更新时间:2023-12-04 03:05:27 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:




10年前关闭。




Possible Duplicate:
Tuple parameter declaration and assignment oddity



在python中我可以做
>>> (a,b) = (1,2)
>>> (b,a) = (a,b)
>>> (a,b)
(2, 1)

但在斯卡拉:
Welcome to Scala version 2.8.1.final (OpenJDK Server VM, Java 1.6.0_20).
Type in expressions to have them evaluated.
Type :help for more information.

scala> var (a,b) = (1,2)
a: Int = 1
b: Int = 2

scala> (a,b)=(b,a)
<console>:1: error: ';' expected but '=' found.
(a,b)=(b,a)
^

因此,虽然我可以将 vars 初始化为一个元组,但我不能将它们分配为一个元组。除了使用 tmp var 之外,还有什么方法可以解决这个问题?

最佳答案

这是 Scala 2.9.0.1

scala> val pair = (1,2)
pair: (Int,Int) = (1,2)

scala> val swappedPair = pair.swap
swappedPair: (Int,Int) = (2,1)

方法 swap生成另一个元组而不是更改旧的元组,我不知道它是否存在于 Scala 2.8.1 中。

关于scala - 在scala中交换两个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6642055/

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