以下特征Parser[+T]
是一个特征,它扩展了接受Input
并返回Result[T]
的函数。特质扩展(A => B)是一种特质扩展功能吗?
trait Parser[+T] extends (Input => Result[T])
这是正确的吗?
以下特征Parser[+T]
是一个特征,它扩展了接受Input
并返回Result[T]
的函数。特质扩展(A => B)是一种特质扩展功能吗?
trait Parser[+T] extends (Input => Result[T])
这是正确的吗?
没错。
Input => Result[T]
是Function1[Input, Result[T]]
的快捷方式。 它的abstrat方法
def apply(v1: Input) : Result[T]
其中,当定义将实际的函数执行。
Scala的语法允许称为apply
方法被称为静默,即对于某些表达e
,e(x1, ... xn)
将被转换为e.apply(x1, ... xn)
几乎。它将Function [Input,Result [T]]扩展为以Inputs作为参数并返回Result [T](不是T)作为结果的函数的类型。结果[T]将有关成功解析的信息载入T或在解析期间发生的错误。