Składnia cechy Scala
Czytam książkę Odersky'ego i mam przykładowy arkusz z następującą częścią kodu:
package org.stairwaybook.scells
trait Arithmetic { this: Evaluator =>
operations += (
"add" -> { case List(x, y) => x + y },
"sub" -> { case List(x, y) => x - y },
"div" -> { case List(x, y) => x / y },
"mul" -> { case List(x, y) => x * y },
"mod" -> { case List(x, y) => x % y },
"sum" -> { xs => (0.0 /: xs)(_ + _) },
"prod" -> { xs => (1.0 /: xs)(_ * _) }
)
}
do czego odnosi się „this: Evaluator”? Czy ktoś mógłby pomóc zrozumieć tę cechę? Jak widzę, definiuje różne operacje, które są funkcjami, ale nie widzę dużego obrazu ...