Я работаю над пакетом и хочу создать несколько функций, которые будут возвращать очень похожие результаты.Я думал, что было бы удобно назначать имена функций в цикле for, но я не получаю желаемых результатов.Имя обновляется каждый раз, но кажется, что значение использует только последнее значение i
.
Я не уверен, что может происходить.
return_letter <- function(i){
letters[i]
}
for(i in 1:3) {
assign(paste0("fn_", i), function() return_letter(i))
}
fn_1() # expect "a", get "c"
fn_2() # expect "b", get "c"
fn_3() # expect "c", get "c"
rm(list = ls(pattern = "^fn_"))
Для контекста,пакет имеет дело с названиями цветов, и я хочу вернуть палитры для красных, синих, зеленых и т. д.