On 2:59 PM, dex wrote:
I'm not sure if it's a good idea to let an item disappear from your
inventory by a weak reference disappearing.  It seems a little shaky
to not know where your objects are being referenced, but that's yout
decision.
OK, imagine a MUD, where players can "dig out" new rooms. Room A has a
door that holds reference to newly created room B. By "using" a door,
player is transported to room B. At later time someone destroys room
B.

Using strong references, I have to remove room B from list of rooms,
and also remove door to room B, as it holds reference to room B. To do
that, I have to keep list of doors that lead to room B.

Using weak references, I don't have to worry about removing all doors
to room B. They all now have a dead reference, which better models
actual situation. If part of mine collapses, or if a module on space
station is destroyed, the passage to that location does not magically
vanish - it's just obstructed.

Can you please tell me if there's something wrong with my reasoning?

Simply replace room B with a "destroyed room" object. That can be quite small, and you only need one, regardless of how many rooms are thus eliminated.

DaveA
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to