assignment in lists
Prof. Brian Ripley wrote:
Philippe,
as.list(NULL) is the same as list(), and that is what I think you should be using in both cases.
OK, thank you.
However, I do think that either both or neither of your examples should work: my preference would be `neither' but as S allows both it should be `either'.
I agree with you, including on the fact that 'neither' should work. I would prefer a language that obliges to declare list components before using them. Experimenting a little bit more around this problem, I got that: - assigning NULL to a list entry deletes this entry from the list. OK, fine. Asking for: my.list$non.existing.item gives NULL. Thus, it is consistent. However, if I use this:
a <- list(item1=NULL, item2=NULL) a
$item1 NULL $item2 NULL - this is a strange behaviour because the previous command should have returned 'list()' in a. Consequently, when I reallocate NULL to either 'item1', or 'item2' of 'a', it deletes it:
a$item1 <- NULL a
$item2
NULL
Not an harmfull behaviour, but inconsistent with the rest.
Best,
Philippe Grosjean
...........]<(({?<...............<?}))><...............................
) ) ) ) )
( ( ( ( ( Dr. Philippe Grosjean
) ) ) ) )
( ( ( ( ( LOV, UMR 7093
) ) ) ) ) Station Zoologique
( ( ( ( ( Observatoire Oc?anologique
) ) ) ) ) BP 28
( ( ( ( ( 06234 Villefranche sur mer cedex
) ) ) ) ) France
( ( ( ( (
) ) ) ) ) tel: +33.4.93.76.38.18, fax: +33.4.93.76.38.34
( ( ( ( (
) ) ) ) ) e-mail: phgrosjean at sciviews.org
( ( ( ( ( SciViews project coordinator (http://www.sciviews.org)
) ) ) ) )
.......................................................................