“named map builder” is an operator written as “:=
”.
Named map builder is a very simple bit of code that performs a
very simple task: it adds names to vectors or lists (making them work
more like maps).
Here are some examples:
## a
## 5
## a b
## 5 6
## a b
## 5 6
The left-side argument of the :=
operator is called “the
names”, and the right-side argument is called “the values”. The
:=
operators returns the values with the names set to
names.
:=
is a left-over assignment operator in R
.
It is part of the syntax, but by default not defined.
data.table
has long used :=
to denote
“in-place assignment” as in the following.
library("data.table")
data.table(x = 1)[, y := x + 1][]
# x y
# 1: 1 2
dplyr
later adopted the :=
notation as this
allows for substitution on the left-hand sides of assignments. wrapr::qc()
uses the :=
for the same purpose.
A key use of the named map builder is the following:
`:=` <- wrapr::`:=` # in case data.tables "catch calls" definition is active
key = 'keycode'
key := 'value'
## keycode
## "value"
Notice the value inside the variable key
was used as the
array name, this differs from what is easily done with R
’s
native c(key = 'value')
style notation.