Wydaje się, że scala.math.PartialOrdering.lteq
zawsze musi być zdefiniowany jako (lub przynajmniej dać taki sam efekt jak):Dlaczego skala.math.PartialOrdering.lteq jest abstrakcyjna, a nie definiowana pod względem .tryCompare?
override def lteq(x: Pattern, y: Pattern) = {
tryCompare(x, y).map(_ <= 0).getOrElse(false)
}
Czy istnieje jakiś powód to realizacja nie jest podana w cechy scala.math.PartialOrdering
?
Od matematyków (to ja!) Punkt widzenia , jakoś przyjemniej jest pozostawić "tryCompare" niezaimplementowane, ale zgadzam się, że jeśli zachęcasz ludzi do pisania zoptymalizowanego kodu, to 'lteq' jest lepszym kandydatem do zastąpienia. –