gpt4 book ai didi

scala - 在条件中分配多个 val

转载 作者:行者123 更新时间:2023-12-04 22:19:45 25 4
gpt4 key购买 nike

在 Java 中,我经常发现自己在条件的每个分支中分配多个最终变量,如下所示:

final _ x;
final _ y;
if (_) {
x = _;
y = _;
} else {
x = _;
y = _;
}

在 Scala 中,我知道可以使用以下技术分配单个 val:
val x = {
if (_) {
_;
} else {
_;
}
}

事实上,通过让块返回一个与变量模式匹配的元组,可以修改上述方法以分配给多个变量,例如:
{
if (_) {
_;
} else {
_;
}
} match { case (x, y) => _ }

但我觉得这种语法很别扭。有没有更简单的方法,理想情况下类似于 Java 代码,来做我想做的事?

最佳答案

scala> val (x,y) = if (true) (3,"blah") else (1,"blis")
x: Int = 3
y: String = blah

它看起来像一个元组分配,但它实际上分配给多个 val。 (好吧,其实两者都有。)

关于scala - 在条件中分配多个 val,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34344017/

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