1
我遇到過這樣的問題:_ *中有許多spark-scala答案的符號,但找不到任何文檔。這實際上是什麼意思?這種用法的一個例子是在回答這個問題:_ * scala中的表示法
How to use DataFrame filter with isin in Spark Java?
行:
df.filter(col("something").isin(list: _*)
我遇到過這樣的問題:_ *中有許多spark-scala答案的符號,但找不到任何文檔。這實際上是什麼意思?這種用法的一個例子是在回答這個問題:_ * scala中的表示法
How to use DataFrame filter with isin in Spark Java?
行:
df.filter(col("something").isin(list: _*)
要理解它,讓我們舉一個例子
scala> def echo(args: String*) =
for (arg <- args) println(arg)
echo: (args: String*)Unit
scala> val arr = Array("What's", "up", "doc?")
arr: Array[String] = Array(What's, up, doc?)
scala> echo(arr)
<console>:14: error: type mismatch;
found : Array[String]
required: String
echo(arr)
scala> echo(arr: _ *)
What's
up
doc?
這個符號,arr:_*
告訴編譯器將arr的每個元素作爲自己的參數傳遞給echo
,而不是將其全部作爲單個參數傳遞。
[如何將Scala數組傳遞到Scala可變參數方法?](https://stackoverflow.com/questions/31064753/how-to-pass-scala-array-into-scala-vararg-method)或[Scala中':_ *'(冒號下劃線明星)是什麼意思?](https://stackoverflow.com/questions/6051302/what-does-colon-underscore-star-do-in-scala) – Harald
@pasternak :在提出新問題之前,請查看/檢查是否提出了同樣類型的問題,其中有答案。 –