[英]What is :_* and How it implement in Scala?
我知道的:
scala> def fx(s: String *) = s.foreach(println)
fx: (s: String*)Unit
scala> val lst = List("1","2","3")
lst: List[java.lang.String] = List(1, 2, 3)
scala> fx(lst:_*)
1
2
3
我想知道的是什么:
- 我該如何實現
:_*
? 按地圖?- 有沒有其他方法可以取代它?
- 如何:_ *在Scala中定義?
謝謝
向編譯器指示你已經提供了一系列元素只是一個語法糖,沒有其它的“實現”。 有關更多信息,請參閱Scala語言規范 (第6.6節,第78頁)
對於采用變量參數的方法:_*
表示您希望將集合的成員作為變量參數傳遞。
以上對應的varargs示例:
scala> fx("a", "b", "c")
a
b
c
你無法實現 - 它是一種語言功能。 它並不意味着在調用varargs方法之外的任何事情。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.