有没有办法从Scala中的数组或List初始化多个变量?
发布时间:2020-12-16 09:08:29 所属栏目:安全 来源:网络整理
导读:我想要做的基本上是 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
我想要做的基本上是
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中有类似的方法吗? 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,3) scala> val List(hours,minutes,seconds) = numbers hours: Int = 1 minutes: Int = 2 seconds: Int = 3 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |