91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Scala可變參數列表,命名參數和參數缺省的示例分析

發布時間:2021-08-25 10:41:36 來源:億速云 閱讀:151 作者:小新 欄目:編程語言

這篇文章主要介紹Scala可變參數列表,命名參數和參數缺省的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

重復參數 Scala在定義函數時允許指定最后一個參數可以重復(變長參數),從而允許函數調用者使用變長參數列表來調用該函數,Scala中使用“*”來指明該參數為重復參數。例如:

scala> def echo (args: String *) =
   |  for (arg <- args) println(arg)
echo: (args: String*)Unit
 
scala> echo()
 
scala> echo ("One")
One
 
scala> echo ("Hello","World")
Hello
World

在函數內部,變長參數的類型,實際為一數組,比如上例的String * 類型實際為 Array[String]。 然而,如今你試圖直接傳入一個數組類型的參數給這個參數,編譯器會報錯:

scala> val arr= Array("What's","up","doc?")
arr: Array[String] = Array(What's, up, doc?)
 
scala> echo (arr)
<console>:10: error: type mismatch;
 found  : Array[String]
 required: String
       echo (arr)
          ^

為了避免這種情況,你可以通過在變量后面添加 _*來解決,這個符號告訴Scala編譯器在傳遞參數時逐個傳入數組的每個元素,而不是數組整體。

scala> echo (arr: _*)
What's
up
doc?

命名參數 通常情況下,調用函數時,參數傳入和函數定義時參數列表一一對應。

scala> def speed(distance: Float, time:Float) :Float = distance/time
speed: (distance: Float, time: Float)Float
 
scala> speed(100,10)
res0: Float = 10.0

使用命名參數允許你使用任意順序傳入參數,比如下面的調用:

scala> speed( time=10,distance=100)
res1: Float = 10.0
 
scala> speed(distance=100,time=10)
res2: Float = 10.0

缺省參數值 Scala在定義函數時,允許指定參數的缺省值,從而允許在調用函數時不指明該參數,此時該參數使用缺省值。缺省參數通常配合命名參數使用,例如:

scala> def printTime(out:java.io.PrintStream = Console.out, divisor:Int =1 ) =
   | out.println("time = " + System.currentTimeMillis()/divisor)
 
printTime: (out: java.io.PrintStream, divisor: Int)Unit
 
scala> printTime()
time = 1383220409463
 
scala> printTime(divisor=1000)
time = 1383220422

以上是“Scala可變參數列表,命名參數和參數缺省的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

元朗区| 临西县| 淳化县| 祥云县| 礼泉县| 永春县| 多伦县| 桐梓县| 丰镇市| 莒南县| 措美县| 漳州市| 边坝县| 广灵县| 丰城市| 隆安县| 长宁县| 永福县| 丰都县| 湄潭县| 电白县| 阳山县| 九江市| 济南市| 清水河县| 泰顺县| 临桂县| 咸丰县| 靖江市| 西乌珠穆沁旗| 抚松县| 漾濞| 大英县| 东辽县| 青川县| 库尔勒市| 巴青县| 宜兴市| 伽师县| 顺昌县| 双桥区|