scala - 在 Scala 非可变参数方法中将 Seq 作为参数传递

标签 scala

我在 Scala 中有一个方法,它有固定数量的参数,我无法更改其签名:

def myMethod(a1: Int, a2: Int, a3: Int): Int = { /* stuff happens */ }

我还有一个数组 arr,其元素数量与 myMethod 中的参数完全相同。如果 myMethod 是可变参数方法,我可以使用奇怪的 : _* 符号将数组作为参数传递。我想做类似的事情

myMethod(/*some Scala magic with arr*/)

有没有一种方法可以在 Scala 中优雅地做到这一点,而不需要 myMethod 是可变参数?

最佳答案

我认为您最接近的是在调用您的方法之前的一个步骤中解构您的数组:

val Array(a1, a2, a3) = arr
myMethod(a1, a2, a3)

关于scala - 在 Scala 非可变参数方法中将 Seq 作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36444614/

相关文章:

java - 嵌套泛型类型中的泛型类型参数

scala - Scala 中的运行总和流

scala - 为什么 scala 编译器不将其识别为元组?

Scala 对按名称调用参数的隐式转换的工作方式因函数是否重载而异

scala - 更改Scalatra端口

scala - 使用 Dynamic 调用重载方法

与 Option 类型匹配的 Scala 模式

scala - 在什么条件下推断没有什么可取的?

scala - 我的 API 都返回 Future[Option[T]],如何在 for-compr 中很好地组合它们

scala - Hadoop FileUtils 无法从 Scala 在本地(Unix)文件系统上写入文件