gpt4 book ai didi

scala - 有没有办法从 Scala 中的数组或列表初始化多个变量?

转载 作者:行者123 更新时间:2023-12-01 07:04:38 26 4
gpt4 key购买 nike

我想要做的基本上是Java代码中的以下内容:

String[] tempStrs = generateStrings();
final int hour = Integer.parseInt(tempStrs[0]);
final int minute = Integer.parseInt(tempStrs[1]);
final int second = Integer.parseInt(tempStrs[2]);

然而, tempStrs只是一个临时变量,不再使用。然后,这可以在 F# 中用以下代码表示:
let [| hour; minute; second |] = Array.map (fun x -> Int32.Parse(x)) (generateStrings())

在 Scala 中是否有类似的方法可以做到这一点?
我知道这可以在 Scala 中通过
val tempInts = generateStrings().map(_.toInt)
val hour = tempInts(0)
val minute = tempInts(1)
val second = tempInts(2)

但是有没有像 F# 这样更短的方法(没有临时变量)?

编辑:

我用了
var Array(hour, minute, second) = generateStrings().map(_.toInt)

当然,使用 val而不是 var也工作。

最佳答案

这个怎么样:

scala> val numbers = List(1, 2, 3)
numbers: List[Int] = List(1, 2, 3)

scala> val List(hours, minutes, seconds) = numbers
hours: Int = 1
minutes: Int = 2
seconds: Int = 3

关于scala - 有没有办法从 Scala 中的数组或列表初始化多个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18307417/

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