R: assign key-value pair(s) to a hash

.set {hash} | R Documentation

## assign key-value pair(s) to a hash

### Description

`.set` is an internal method for assigning key-value pairs to a `hash`. Normally, there is no need to use this function. Convenient access is provided by: `hash, \$, [ and [[` and their corresponding replacement methods.

`.set` takes 4 types of arguments: explicitly named key and value vectors named key-value pairs named vectors implicit key-value pairs

The keys are automatically coerced to valid keys and are restricted to character classes. Values are free to be any valid R object.

### Usage

      .set( hash, ... )

### Arguments

`hash` | An hash object on which to set the key-value pair(s)
`...` | Any of several ways to specify keys and values. See Details.

### Details

`.set` sets zero or more key-value pairs. If the key(s) already exist, existing values are silently clobbered. Otherwise, a new value is saved for each key. Keys and values are by the `...` argument. If `...` is:

made only of explicitly named `keys` and `values` arguments then these are taken as the keys and values respectively.

a named list, then the names are taken as keys and list elements are taken as values.

a named vector, then the names are taken as keys. Vector elements are taken as values.

of length two, keys are taken from the first element, values from the second.

Keys are coerced to type `character`.

Keys and values are assigned to the hash as follows:

IF `keys` and `values` are the same length, key-value pairs are added to the hash pairwise.

IF `keys` is a vector of length 1, then this key is assigned the entire `values` vector.

IF `values` is a vector of length 1, each key of `keys` is assigned the value given by `values`

IF `keys` and `values` are of different lengths, both greater than one, then the assignment is considered ambiguous and an error is thrown.

### Value

`.set` exists solely for its side-effects. An invisible NULL is returned.

### Author(s)

Christopher Brown

### See Also

See also `hash`, `environment`

### Examples

      h <- hash()

      .set( h, keys=letters, values=1:26 )
      .set( h, a="foo", b="bar", c="baz" )
      .set( h, c( aa="foo", ab="bar", ac="baz" ) )
      clear(h)
      .set( h, letters, values )

[Package hash version 2.2.6 Index]