溫馨提示×

溫馨提示×

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

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

Scala允許的重復(fù)參數(shù)怎么用

發(fā)布時間:2021-07-15 09:41:25 來源:億速云 閱讀:142 作者:chen 欄目:編程語言

本篇內(nèi)容主要講解“Scala允許的重復(fù)參數(shù)怎么用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Scala允許的重復(fù)參數(shù)怎么用”吧!

Scala允許你指明函數(shù)的***一個參數(shù)可以是重復(fù)的。這可以允許客戶向函數(shù)傳入可變長度參數(shù)列表。想要標(biāo)注一個重復(fù)參數(shù),在參數(shù)的類型之后放一個星號。例如:

scala> def echo(args: String*) =   for (arg < - args) println(arg)  echo: (String*)Unit

這樣定義,echo可以被零個至多個String參數(shù)調(diào)用:

scala> echo()  scala> echo("one")  one  scala> echo("hello", "world!")  hello  world!

函數(shù)內(nèi)部,重復(fù)參數(shù)的類型是聲明參數(shù)類型的數(shù)組。因此,echo函數(shù)里被聲明為類型“String*”的args的類型實際上是Array[String]。然而,如果你有一個合適類型的數(shù)組,并嘗試把它當(dāng)作重復(fù)參數(shù)傳入,你會得到一個編譯器錯誤:

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

要實現(xiàn)這個做法,你需要在數(shù)組參數(shù)后添加一個冒號和一個_*符號,像這樣:

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

這個標(biāo)注告訴編譯器把a(bǔ)rr的每個元素當(dāng)作參數(shù),而不是當(dāng)作單一的參數(shù)傳給echo。

到此,相信大家對“Scala允許的重復(fù)參數(shù)怎么用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI