我正在寻找一个简单的函数来加快我编写和调试 R 函数的能力。考虑以下代码块:
# Part A:
myfun = function(a, b = 5, out = "hello"){
if(a>b) print(out)
return(a-b)
}
# Part B:
b = 5
out = "hello"
# Part C:
do.args = function(f){
#intialize the arguments of myfun in the parent environment
???
}
该函数myfun
是一个更大问题的简单示例:我经常有一个带有许多参数的复杂函数。为了有效地编写和调试这样的函数,我发现初始化函数的参数并逐行“逐步执行”函数很有用。初始化参数,如上面的 B 部分,有点麻烦,当有很多参数时,我更喜欢像 C 部分那样有一个函数,它只接受字符串myfun
作为参数,并产生与运行相同的效果当前环境下的 B 部分。