函数为Scala中的任何输入返回相同的输出

时间:2016-01-05 06:59:07

标签: scala function

假设我有一个这样的函数类型Foo

type Foo = (Int, Int, Int) => String

现在我想定义一个Foo类型的变量,以便始终为任何参数返回"abc"

val foo: Foo = (_, _, _) => "abc"

可以简化吗?

2 个答案:

答案 0 :(得分:3)

不是真正的长度简化(是一个字符更长),而是简化你不需要在参数列表中编写尽可能多的占位符的方式:

val foo: Foo = { case _ => "abc" }

答案 1 :(得分:1)

scala> def f[A](x: A*): String = "Foo"
f: [A](x: A*)String

scala> f( 1, 2, 3)
res3: String = Foo

scala> f( List(1), 5)
res4: String = Foo