strict_list {xfun} | R Documentation |
A strict list is essentially a normal list()
but it does not
allow partial matching with $
.
strict_list(...) ## S3 method for class 'strict_list' x$name ## S3 method for class 'strict_list' print(x, ...)
... |
Objects (list elements), possibly named. Ignored in the
|
x |
A strict list. |
name |
The name (a character string) of the list element. |
To me, partial matching is often more annoying and surprising than
convenient. It can lead to bugs that are very hard to discover, and I have
been bitten for many times. When I write x$name
, I always mean
precisely name
. You should use a modern code editor to autocomplate
the name
if it is too long to type, instead of using a partial name.
library(xfun) (z = strict_list(aaa = "I am aaa", b = 1:5)) z$a # NULL! z$aaa # I am aaa z$b z$c = "create a new element" z2 = unclass(z) # a normal list z2$a # partial matching