Воспоминание с RStudio "Go to function"
Я часто использую Rstudio "Перейти к определению функции" (ярлык F2), чтобы перемещаться между многими файлами и быстро получать доступ к определению функции / вносить изменения (обычно распечатки определения функции недостаточно).
Чтобы ускорить мой анализ, многие из моих функций запоминаются с помощью пакета "memoise". Это все хорошо, но когда я использую кнопку "Перейти к определению функции" (или F2), это приводит меня к функции памятки. Это результат:
function (Date = Sys.Date(), Symbol)
{
hash <- `_digest`(c(list(Date, Symbol), lapply(`_additional`,
function(x) eval(x[[2L]], environment(x)))), algo = "sha512")
if (`_cache`$has_key(hash)) {
res <- `_cache`$get(hash)
}
else {
res <- withVisible(`_f`(Date = Date, Symbol = Symbol))
`_cache`$set(hash, res)
}
if (res$visible) {
res$value
}
else {
invisible(res$value)
}
}
Одно замечание - я попытался определить функцию и дать ей ее памятку под ней следующим образом: foo <- function (x) {return (x)} foo <- memoise:: memoise (foo)
Но когда я запускаю это в Linux, каждый раз, когда я вызываю foo, я получаю бесконечный цикл. Как ни странно, он хорошо работает в Windows (и функция F2 работает в Windows этим методом!). Мне нужно что-то, что будет работать в системе Linux, а также иметь функциональность F2.