以下特征Parser[+T]
是一个特征,它扩展了一个接受Input
并返回Result[T]
的函数。
trait Parser[+T] extends (Input => Result[T])
这是对的吗?
答案 0 :(得分:16)
右。
Input => Result[T]
是Function1[Input, Result[T]]
的快捷方式。
它有一个抽象方法
def apply(v1: Input) : Result[T]
当定义时将是实际的功能实现。
Scala语法允许以静默方式调用名为apply
的方法,即对于某些表达式e
,e(x1, ... xn)
将被转换为e.apply(x1, ... xn)
答案 1 :(得分:6)
几乎。它扩展了Function[Input, Result[T]]
- 以Input
为参数并返回Result[T]
(不是T
)的函数类型。 Result[T]
将有关成功解析的信息传递到T
或解析期间发生的错误。