hashset
s and hashmap
sSubsetting operators `[[`
and `[`
for
hashset
s and hashmap
s provide an equivalent synthax for the
basic read/write operations performed by insert()
,
delete()
and query()
.
# S3 method for r2r_hashmap
[[(x, i)# S3 method for r2r_hashmap
[(x, i)
# S3 method for r2r_hashmap
[[(x, i) <- value
# S3 method for r2r_hashmap
[(x, i) <- value
# S3 method for r2r_hashset
[[(x, i)
# S3 method for r2r_hashset
[(x, i)
# S3 method for r2r_hashset
[[(x, i) <- value
# S3 method for r2r_hashset
[(x, i) <- value
an hashset
or hashmap
.
for `[[`
-subsetting, an arbitrary R object, the key to be
queried or inserted/deleted from the hash tables. For `[`
-subsetting,
a list or an atomic vector whose individual elements correspond to the keys.
for `[[`
-subsetting: TRUE
or FALSE
if
x
is an hashset
, an arbitrary R object if x
is an
hashmap
. In the case of hashset
s, setting a key's value to
TRUE
and FALSE
is equivalent to inserting and deleting,
respectively, such key from the set. For `[`
-subsetting, value
must be a list or an atomic vector of the same length of i
,
whose individual elements are the values associated to the corresponding
keys in the hash table.
the replacement forms ([[<-
and [<-
) always return value
.
`[[`
returns TRUE
or FALSE
if
x
is an hashset
, an arbitrary R object if x
is an
hashmap
and i
is a valid key; when i
is not a key, the
behaviour for hashmap
s depends on the value of
on_missing_key(x)
.
The `[`
operator returns a list of the same length of i
, whose
k-th element is given by x[[ i[[k]] ]]
(the remark on missing keys for
hashmaps applies also here).