R: hash/associative array/dictionary data structure for the R...

hash {hash} | R Documentation

## hash/associative array/dictionary data structure for the R language

### Description

Preferred constructor for the `hash-class`.

### Usage

      hash(...)

      is.hash(x)

      ## S3 method for class 'hash'
    as.list(x, all.names = FALSE, ...  )

### Arguments

`x` | A hash object.
`all.names` | a logical indicating whether to copy all values or (default) only those whose names do not begin with a dot
`...` | Additional arguments passed to the function

### Details

`hash` returns a hash object. Key-value pairs may be specified via the `...` argument as explicity arguments `keys` and `values`, as named key-value pairs, as a named vector or as implicit key, value vectors. See examples below for each type.

Keys must be a valid R name, must be a character vector and must not be the empty string, `""`. Values are restricted to any valid R objects.

See `.set` for further details and how key-value vectors of unequal length are interpretted.

Hashes may be accessed via the standard R accessors `[`, `[[` and `\$`. See `hash-accessors` for details.

`is.hash` returns a boolean value indicating if the argument is a hash object.

`as.list.hash` coerces the hash to a list.

### Value

For `hash`, an object of class hash.

### Author(s)

Christopher Brown

### See Also

`.set`, `hash-accessors`

### Examples

      hash()

      hash( key=letters, values=1:26 )

      hash( 1:3, lapply(1:3, seq, 1 ))

      hash( a=1, b=2, c=3 )
      hash( c(a=1, b=2, c=3) )
      hash( list(a=1,b=2,c=3) )

      hash( c("foo","bar","baz"), 1:3 )
      hash( c("foo","bar","baz"),  lapply(1:3, seq, 1 ) )
      hash( letters, 1:26 )

      h <- hash( letters, 1:26 )
      h$a
      h$b
      h[[ "a" ]]
      h[ letters[1:3] ]

      h$a<-100
      # h[['a']]<-letters

      is.hash(h)
      as.list(h)

      clear(h)
      rm(h)

[Package hash version 2.2.6 Index]