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

View source: R/hash.R

hashR 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)


hash documentation built on Aug. 20, 2023, 1:08 a.m.