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