Я особенно люблю этот пример из файла состояния:
#define BITCOUNT(x) (((BX_(x)+(BX_(x)>>4)) & 0x0F0F0F0F) % 255) #define BX_(x) ((x) - (((x)>>1)&0x77777777) - (((x)>>2)&0x33333333) - (((x)>>3)&0x11111111))
мне нравится он лучше всего, потому что это настолько симпатично!
Списки R можно рассматривать как хеш-векторы объектов, к которым можно получить доступ по имени. Используя этот подход, вы можете добавить новую запись в список следующим образом:
key <- "width"
value <- 32
mylist <- list()
mylist[[ key ]] <- value
Здесь мы используем строку, хранящуюся в переменной key, для доступа к позиции в списке, так же, как использование значения, хранящегося в переменной цикла i, для доступа к вектору через:
vector[ i ]
Результат:
myList
$width
[1] 32
Элементы списка в R могут иметь имя. Так что в вашем случае просто выполните
> mylist = list()
> mylist$width = value
Когда R встретит этот код
> l$somename=something
, где l - список. Он добавляет к списку элемент something и дает ему имя somename. Затем к нему можно получить доступ, используя
> l[["somename"]]
или
> l$somename
Имя можно изменить с помощью имен команд:
> names(l)[names(l)=="somename"] <- "othername"
Или, если вы теперь положение элемента в списке, выполните:
> names(l)[1] <- "someothername"