如何在Scala中将多个函数作为变量参数?

如何在Scala中将多个函数作为变量参数?,scala,syntax,functional-programming,Scala,Syntax,Functional Programming,为了在Scala中将多个变量作为数据类型的参数,我们可以编写如下内容: def test(args: String*) 我们怎么能以同样的精神将多个函数作为参数呢?(语法?)。因此,如果您想从一个字符串到另一个字符串获取数量可变的函数,您可以编写以下代码: def test(funcs: (String => String)*) = ??? 实际上,您可以跳过内部括号并编写funcs:String=>String*,但我个人认为其中的优先级有点不清楚。为了完整性:def test(ar

为了在Scala中将多个变量作为数据类型的参数,我们可以编写如下内容:

def test(args: String*)

我们怎么能以同样的精神将多个函数作为参数呢?(语法?)。因此,如果您想从一个字符串到另一个字符串获取数量可变的函数,您可以编写以下代码:

def test(funcs: (String => String)*) = ???

实际上,您可以跳过内部括号并编写
funcs:String=>String*
,但我个人认为其中的优先级有点不清楚。

为了完整性:
def test(args:Function1[String,String]*)
请始终记住声明类型别名的选项。在这种情况下,例如,
type Str2Str=String=>String
然后
def-test(funcs:Str2Str*)