Перечислите все функции внутри данной функции - PullRequest
0 голосов
/ 04 июля 2019

Я хотел бы отобразить отношения и зависимости разных функций из разных скриптов.

К настоящему времени я могу извлечь все функции для данного скрипта, но я хотел бы получить еще один уровень глубжеи попробуйте перечислить все функции, содержащиеся в каждой функции.

Я использую пакет "NCmisc" и функцию list.functions.in.file, чтобы сделать первый листинг.


rfile <- file.choose() # choose an R script file with functions
list.functions.in.file(rfile) # list all the functions

В результате он возвращает список, содержащий все функции, но я хотел бы применить аналогичные процедуры для анализа всех функций внутри данной функции и завершения «сопоставления» с этим уровнем детализации.

Есть идеи?спасибо

1 Ответ

1 голос
/ 04 июля 2019

Есть два возможных значения «всех функций внутри данной функции».

  1. Если вы имеете в виду все функции, вызываемые из данной функции, используйте codetools::findGlobals(fn, merge = FALSE)$functions. Это перечислит все ссылки изнутри fn, которые там не были определены.

  2. Если вы имеете в виду все функции, определенные в данной функции, это немного сложнее. Я думаю, что есть другие codetools функции, которые позволили бы вам соединить это, но я не знаю деталей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...