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

时间:2014-08-11 17:53:28

标签: scala syntax functional-programming

为了将多个变量作为Scala中数据类型的参数,我们可以将其写为:

def test(args: String*)

我们怎样才能以同样的精神将多个功能作为参数? (语法?)经过谷歌搜索后我找不到任何东西。

1 个答案:

答案 0 :(得分:8)

Scala中的函数是类型与任何其他值类似的值,而A => B(或等效地,Function1[A, B])是从AB的函数类型。因此,如果您想从字符串到字符串采用可变数量的函数,则可以编写以下内容:

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

你实际上可以跳过内部括号并写funcs: String => String*,但我个人觉得它的优先级有点不清楚。