2015-10-11 1 views
0

Предположим, у меня есть небольшая функция в RКак найти назначенную значение переменной внутри функции на консоли в R

getsum <- function(a, b){ 
     c <- a+b 
    } 

Теперь, когда я запустить эту функцию, он работает rormally. Но мой вопрос: могу ли я проверить назначенное значение на c на консоли? Я знаю, что:

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

Я не хочу ни одного из них. Мой вопрос конкретно, могу ли я проверить значение переменных внутри функции на консоли. Я пробовал functionname::variablename, но он не работает

+1

Почему у вас есть 'int a'? Вам не нужно указывать тип ваших аргументов. – Hugh

+0

Извините, но это было по ошибке. –

ответ

0

Итак, есть несколько ответов, которые я могу дать здесь, я не уверен, для чего он нужен.

(EDIT: oh, и FYI, я бы избегал использовать «c» в качестве имени переменной, это функция, неоднозначное значение плохое. R будет компенсировать, используя значение в вашей текущей среде, но это остановка мера)

Легче было бы присвоить некоторую переменную:

x <- NULL 

на глобальном уровне среды, а затем, где-то, во время функции:

x <<- c 

двойная стрелка присваивает значение самой верхней среде.

Однако это немного опасно, поскольку он будет работать как можно дальше, чтобы назначить эту переменную. Если вы после отладки, то я рекомендую добавить:

browser() 

внутри кода где-то, это остановит выполнение во время функции, а затем вы можете запустить все что угодно внутри функции среды.

0

Если вы хотите отладить свой код, просто используйте RSTUDIO https://www.rstudio.com/ - это IDE с возможностями отладки. В Rstudio устанавливается точка останова внутри вашей функции и может проверять значение внутренних переменных на правой панели.