相关疑难解决方法(0)

什么`:_*`(冒号下划线星)在Scala中做什么?

我从这个问题得到以下代码:

def addChild(n: Node, newChild: Node) = n match {
  case Elem(prefix, label, attribs, scope, child @ _*) => Elem(prefix, label, attribs, scope, child ++ newChild : _*)
  case _ => error("Can only add children to elements!")
}
Run Code Online (Sandbox Code Playgroud)

除此之外,其中的所有内容都非常清晰: child ++ newChild : _*

它有什么作用?

我明白有Seq[Node]与另一个连接Node,然后呢?怎么: _*办?

scala pattern-matching

186
推荐指数
4
解决办法
4万
查看次数

:scala中的_*表示法

我遇到了这个:_*表示许多spark-scala答案,但找不到任何文档.实际上是什么意思?这种用法的一个例子就是这个问题的答案

如何在Spark Java中使用isin的DataFrame过滤器?

线:

df.filter(col("something").isin(list: _*)
Run Code Online (Sandbox Code Playgroud)

scala

5
推荐指数
1
解决办法
2343
查看次数

Scala:方法参数String*和Array [String]之间有区别吗

方法参数String*Array[String]?之间有区别吗?

安慰:

scala> def main(args: Array[String]): Unit = {}
main: (args: Array[String])Unit

scala> def main(args: String*): Unit = {}
main: (args: String*)Unit
Run Code Online (Sandbox Code Playgroud)

代码1:

object Example {
  def main(args: Array[String]): Unit = {
    println("Hello")
  }
}

>> Hello
Run Code Online (Sandbox Code Playgroud)

代码2:

object Example {
  def main(args: String*): Unit = {
    println("Hello")
  }
}

>> Exception in thread "main" java.lang.NoSuchMethodException: Example.main([Ljava.lang.String;)
    at java.lang.Class.getMethod(Class.java:1786)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:126)
Run Code Online (Sandbox Code Playgroud)

scala

3
推荐指数
1
解决办法
387
查看次数

标签 统计

scala ×3

pattern-matching ×1