R: Strict lists

strict_list {xfun} | R Documentation

## Strict lists

### Description

A strict list is essentially a normal `list()` but it does not allow partial matching with `$`.

### Usage

    strict_list(...)

    ## S3 method for class 'strict_list'
    x$name

    ## S3 method for class 'strict_list'
    print(x, ...)

### Arguments

`...` | Objects (list elements), possibly named. Ignored in the `print()` method.
`x` | A strict list.
`name` | The name (a character string) of the list element.

### Details

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.

### Examples

    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

[Package xfun version 0.1 Index]