R - это функциональный язык программирования , и одним из его основных преимуществ является возможность создавать открытые и прозрачные функции.
Как говорит Джон Чамберс в своей превосходной книге «Программное обеспечение для анализа данных: программирование с использованием R» :
Вычисления организованы вокруг функций, которые могут инкапсулировать конкретные значимые результаты вычислений с реализациями, которые можно проверить на правильность.
Такие понятия, как «воспроизводимые исследования» и «надежное программное обеспечение», лежат в основе разработки R. В общем, легко проверить функцию, просто набрав ее имя без скобок. Например:
> which
function (x, arr.ind = FALSE)
{
if (!is.logical(x))
stop("argument to 'which' is not logical")
wh <- seq_along(x)[x & !is.na(x)]
dl <- dim(x)
...
У меня такой вопрос: как вы примерируете содержимое таких функций, как for()
или if()
без загрузки исходного кода R?
Редактировать: Кстати, я понимаю, что это не поможет при просмотре скомпилированного кода (такого как C, C ++ или Java), который может быть вызван из R. Мне действительно интересно, есть ли Функция R, которая выводит функции R.