假设我有一个这样的函数类型Foo
:
type Foo = (Int, Int, Int) => String
现在我想定义一个Foo
类型的变量,以便始终为任何参数返回"abc"
val foo: Foo = (_, _, _) => "abc"
可以简化吗?
答案 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