您好,登錄后才能下訂單哦!
本篇內容主要講解“scala元組怎么創(chuàng)建”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“scala元組怎么創(chuàng)建”吧!
在 Scala 中,元組是一個可以容納不同類型元素的類。元組是不可變的。
當我們需要從函數(shù)返回多個值時,元組會派上用場。
元組可以創(chuàng)建如下:
val ingredient = ("Sugar" , 25):Tuple2[String, Int]
這將創(chuàng)建一個包含一個 String 元素和一個 Int 元素的元組。
Scala 中的元組包含一系列類:Tuple2,Tuple3等,直到 Tuple22。因此,當我們創(chuàng)建一個包含 n 個元素(n 位于 2 和 22 之間)的元組時,Scala 基本上就是從上述的一組類中實例化 一個相對應的類,使用組成元素的類型進行參數(shù)化。上例中,ingredient
的類型為 Tuple2[String, Int]
。
使用下劃線語法來訪問元組中的元素?!畉uple._n’ 取出了第 n 個元素(假設有足夠多元素)。
println(ingredient._1)
println(ingredient._2)
Scala 元組也支持解構。
val (name, quantity) = ingredient
println(name)
println(quantity)
元組解構也可用于模式匹配。
val planetDistanceFromSun = List(("Mercury", 57.9), ("Venus", 108.2), ("Earth", 149.6 ), ("Mars", 227.9), ("Jupiter", 778.3))
planetDistanceFromSun.foreach{ tuple => {
tuple match {
case ("Mercury", distance) => println(s"Mercury is $distance millions km far from Sun")
case p if(p._1 == "Venus") => println(s"Venus is ${p._2} millions km far from Sun")
case p if(p._1 == "Earth") => println(s"Blue planet is ${p._2} millions km far from Sun")
case _ => println("Too far....")
}
}
}
或者,在 ‘for’ 表達式中。
val numPairs = List((2, 5), (3, -7), (20, 56))
for ((a, b) <- numPairs) {
println(a * b)
}
類型 Unit
的值 ()
在概念上與類型 Tuple0
的值 ()
相同。Tuple0
只能有一個值,因為它沒有元素。
用戶有時可能在元組和 case 類之間難以選擇。通常,如果元素具有更多含義,則首選 case 類。
到此,相信大家對“scala元組怎么創(chuàng)建”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。