'Spread' parámetros en Scala?

¿Hay alguna manera de llamar a una función de Scala que toma parámetros individuales,dado una matriz (similar a JavaScriptSpreads en ECMAScript 6)?

ys = [10.0, 2.72, -3.14]
f(x, ...ys);

La sintaxis más limpia sería:

f(1, ys)

pero eso no parece ser posible. Inclusof(1, ys:_*) no funciona (y tampoco lo hacef(ys:_*), ya que el compilador informa muy pocos parámetros (solo se llena el primero).

Ejemplo:

def f (a:Int, b:Float, c:Float, d:Float): String

val x  = 1
val ys = List(10.0, 2.72, -3.14)  // note: non-Objects
val result = f(x, ys)  // intuitive, but doesn't work

Caso de uso: inyectar datos de prueba (de colecciones) en métodos existentes que aceptan parámetros individuales. Como estos son casos de prueba, está muy bien si los #params en ys no coinciden y eso da un error de tiempo de ejecución o un resultado incorrecto.

La pregunta es si Scala permite una sintaxis limpia para llamar a una función que toma parámetros individuales, dada una colección de parámetros, no si es una buena opción.diseño (aunque las opiniones son ciertamente bienvenidas).

Respuestas a la pregunta(2)

Su respuesta a la pregunta