Предположим, я хочу найти примеры использования одной или нескольких функций в коде base
или отправленных пакетов, чтобы лучше понять идиоматическое использование этих функций. То есть я хочу выполнить поиск кода в местах, где используется функция, а не поиск мест, где эта функция определена. Поэтому я хотел бы включить, например, неэкспортированные функции.
В идеале я хотел бы выполнить сопоставление RegEx, чтобы найти функции с похожими именами, которые могут выполнять параллельную функцию. Я также хотел бы иметь возможность ограничить вывод на основе логических тестов типа вывода R, чтобы найти, например, только функции или некоторые более тонкие подразделения, такие как is.primitive()
или is.closure()
, или (из rlang
) is_primitive_eager()
или is_primitive_lazy()
.
Я отмечаю, что некоторые виды поиска, о которых я спрашиваю, существуют для документации пакета в пакете sos
. Кроме того, я знаю, что поиск grep можно выполнять по именам экспортированных функций загруженных пакетов, как здесь: Multiple-loaded-packages-in-r">Поиск функций с использованием grep среди нескольких загруженных пакетов в R, а пакет lookup
Джима Хестера находит определения функций в пакетах CRAN, даже если они не установлены. См. Также ответ Бена Болкера здесь: Имя пакета для данной функции в R Но ни один из этих методов не будет искать использование функции, а не определение функции.