Einfaches Beispiel für die Erweiterung einer Scala-Sammlung
Ich suche ein sehr einfaches Beispiel für die Unterteilung einer Scala-Sammlung. Ich bin nicht so sehr an vollständigen Erklärungen interessiert, wie und warum alles funktioniert. viele davon sind verfügbarHier undanderswo im Internet. Ich würde gerne wissen, wie das einfach geht.
Die folgende Klasse könnte ein möglichst einfaches Beispiel sein. Die Idee ist, eine Unterklasse von zu bildenSet[Int]
welches eine zusätzliche Methode hat:
class SlightlyCustomizedSet extends Set[Int] {
def findOdd: Option[Int] = find(_ % 2 == 1)
}
Offensichtlich ist das falsch. Ein Problem ist, dass es keinen Konstruktor gibt, mit dem man Dinge in die Datenbank packen kannSet
. EINCanBuildFrom
Das Objekt muss erstellt werden, vorzugsweise durch Aufrufen eines bereits vorhandenen Bibliothekscodes, der weiß, wie es erstellt wird. Ich habe Beispiele gesehen, die mehrere zusätzliche Methoden im Companion-Objekt implementieren, aber sie zeigen, wie alles funktioniert oder wie man etwas Komplizierteres macht. Ich würde gerne sehen, wie man das, was sich bereits in den Bibliotheken befindet, nutzt, um dies in ein paar Codezeilen auszuschalten. Was ist der kleinste und einfachste Weg, dies umzusetzen?