我正在嘗試在 scala 中實作以下目標
var date="12/01/2021"
var a,b,c = date.split("/")
print(a,b,c)
//expected result
12,01,2021
uj5u.com熱心網友回復:
您無法確定拆分后陣列的大小,這就是為什么您不能像這樣對其進行解構。
但是,您可以使用模式匹配:
date.split("/") match {
case Array(a, b, c) => print(...)
case _ => print("invalid format")
}
或者只是通過索引訪問陣列(不安全):
val arr = date.split("/")
val (a, b, c) = (arr(0), arr(1), arr(2))
uj5u.com熱心網友回復:
你可以寫
val Array(a,b,c) = date.split("/")
要么
val Array(a,b,c) = date.split("/").take(3)
但是,@Ga?l J 建議的模式匹配具有優雅處理結果沒有預期的 3 部分的情況的優勢
uj5u.com熱心網友回復:
您可以直接在date字串上進行模式匹配(基于 Ga?l 的回答)
val date = "12/01/2021"
date match {
case s"$a/$b/$c" => print(a, b, c)
case _ => print("invalid format")
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/440178.html
標籤:斯卡拉
上一篇:在Scala中對集合值求和
