digitalmars.D.learn - Clarification on aa.remove(key)
- Mike Parker (14/14) Jun 23 2005 According to the docs:
- Jarrett Billingsley (6/11) Jun 24 2005 I would assume the value is as well. It wouldn't make much sense for th...
- Mike Parker (6/22) Jun 24 2005 I also assume that it does remove the value, as it would be silly not
According to the docs: / Particular keys in an associative array can be removed with the remove function:/ This says the key is removed, but says nothing about the value. Assuming the value is a class reference or a pointer, is it still referenced internally by the aa after the remove call or not? I don't want to leave any dangling references hanging around, so I need to know if we should be doing something like this: aa[key] = null; aa.remove(key); If the value *is* no longer referenced, then perhaps the docs should be updated to read: / Particular key-value pairs in an associative array can be removed with the remove function:/
Jun 23 2005
"Mike Parker" <aldacron71 yahoo.com> wrote in message news:d9fql5$qgn$1 digitaldaemon.com...This says the key is removed, but says nothing about the value. Assuming the value is a class reference or a pointer, is it still referenced internally by the aa after the remove call or not? I don't want to leave any dangling references hanging around, so I need to know if we should be doing something like this:I would assume the value is as well. It wouldn't make much sense for the key to be deleted and the value left, as they are in the same struct. I think the reference of "key" in the docs in this case refers to the "key-value pair" as you've pointed out.
Jun 24 2005
Jarrett Billingsley wrote:"Mike Parker" <aldacron71 yahoo.com> wrote in message news:d9fql5$qgn$1 digitaldaemon.com...I also assume that it does remove the value, as it would be silly not to. But no matter how senseless it would seem, and no matter how much I assume, the docs still say 'key' and not 'key-value pair'. I've been burned by little things like this before (not in D!), so just want it clarified.This says the key is removed, but says nothing about the value. Assuming the value is a class reference or a pointer, is it still referenced internally by the aa after the remove call or not? I don't want to leave any dangling references hanging around, so I need to know if we should be doing something like this:I would assume the value is as well. It wouldn't make much sense for the key to be deleted and the value left, as they are in the same struct. I think the reference of "key" in the docs in this case refers to the "key-value pair" as you've pointed out.
Jun 24 2005