我想要做的基本上是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
也有效。