Ich bewerte Scala und habe ein Problem mit seinen unveränderlichen Sammlungen.Wie man Scalas unveränderliche Sammlungen hält unveränderliche Objekte
Ich möchte unveränderliche Sammlungen, die vollständig unveränderlich sind, durch alle enthaltenen Objekte, die Objekte, auf die sie verweisen, ad infinitum machen.
Gibt es eine einfache Möglichkeit, dies zu tun?
Der Code auf http://www.finalcog.com/immutable-containers-scala veranschaulicht, was ich zu erreichen versuche, und eine böse Arbeit (ImmutablePoint).
Das Problem mit der Problemumgehung ist, dass jedes Mal, wenn ich ein Objekt ändern möchte ich manuell eine neue Kopie erstellen muss. Ich verstehe, dass die Laufzeit Copy-on-Write implementieren muss, aber kann dies für den Entwickler transparent gemacht werden?
Ich nehme an, ich mache unwandelbare Objekte, wo Methoden den aktuellen Objektstatus ändern, aber alle anderen 'val' (und alle unveränderlichen Container) Verweise auf das Objekt behalten den 'alten' Status.
Diese Arbeit könnte Sie interessieren: http://lamp.epfl.ch/~phaller/capabilities.html –
Ausgezeichnetes Lesematerial, danke. – fadedbee