Aşağıdaki özellik Parser[+T]
, Input
kabul eden bir işlevi genişleten ve Result[T]
değerini döndüren bir özelliktir.Özellik, sürekli bir özellik mi yoksa (A => B) mi?
trait Parser[+T] extends (Input => Result[T])
Bu doğru mu?
Aşağıdaki özellik Parser[+T]
, Input
kabul eden bir işlevi genişleten ve Result[T]
değerini döndüren bir özelliktir.Özellik, sürekli bir özellik mi yoksa (A => B) mi?
trait Parser[+T] extends (Input => Result[T])
Bu doğru mu?
Sağ.
Input => Result[T]
, Function1[Input, Result[T]]
için bir kısayoldur. Bu gerçek işlev uygulama olacaktır tanımlanan bir Abstrat yöntemini
def apply(v1: Input) : Result[T]
sahiptir.
Scala sözdizimi bazı ifadesi e
içindir apply
denilen yöntemler sessizce çağrılmasına olanak veren, e(x1, ... xn)
Neredeyse e.apply(x1, ... xn)
çevrilir. Fonksiyonu [Girdi, Sonuç [T]], Girişleri argüman olarak alan ve sonuç olarak [T] (T değil) sonucunu döndüren fonksiyonların türünü genişletir. Sonuç [T] başarılı bir ayrıştırma hakkında bir T'ye veya ayrıştırma sırasında oluşan bir hatanın içine bilgi taşır.