簡體   English   中英

將List的元素作為參數傳遞給具有可變參數的函數

[英]Passing elements of a List as parameters to a function with variable arguments

我有一個稱為or的函數,例如,它定義為;

or(filters: FilterDefinition*)

然后我有一個列表:

List(X, Y, Z)

我現在需要做的是打電話or喜歡

or(func(X), func(Y), func(Z))

並且如預期的那樣,列表的長度可能會改變。

在Scala中執行此操作的最佳方法是什么?

看一下這個例子,我將定義一個函數printme,它使用String類型的vargs

def printme(s: String*) = s.foreach(println)


scala> printme(List("a","b","c"))

<console>:9: error: type mismatch;
 found   : List[String]
 required: String
              printme(List(a,b,c))

您真正需要使用:_*運算符將列表解壓縮為參數的內容

scala> val mylist = List("1","2","3")
scala> printme(mylist:_*)
1
2
3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM