Возьмите следующий список:
lst <- list(a = 1, b = list(c = 2, d = 3))
Теперь я хотел бы иметь указатель на элемент d
, чтобы при обновлении его значения оно отражалось в исходном списке. Например:
d <- lst[['b']][['d']] # d should be a reference.
update(d, 5) # custom function for updating by reference.
lst[['b']][['d']]
#> [1] 5
Зачем мне это? Потому что я делаю всевозможные обновления в списках на несколько уровней, что приводит к утомительному коду, подобному следующему:
lst[['b']][['d']] <- some_function(lst[['b']][['d']], lst[['b']][['c']])
Поэтому мне интересно, есть ли в R идиомы, которые сделали бы код более кратким и читаемый