纯函数是一个函数,其中返回值仅由其输入值确定,没有可观察到的副作用。
有哪些方法可以以编程方式在R中捕获不纯的函数?
我在浏览包时经常lsf.str("package:base")
(在这里使用base
作为示例)。
我也尝试浏览源代码,看看是否/哪里有调用函数,我知道这些函数是纯粹的。
我倾向于多次运行函数文档中给出的示例并测试结果是否相等:例如。 is.recursive(replicate(10, 1+2))
这不是非常耗时,我确信有一套更好/更健壮的方法来探索哪些功能不纯。
那么R包中不纯函数的常见/稳健测试是什么?
- 最佳练习切线(随意忽略):另外,如果你有一个不纯的函数,你应该在 <下明确记录它吗? / p>
注:我只是在寻找人们可能会使用的常见清单类型的东西,而不是总能捕捉到所有情况的东西(因为这可能甚至不可能......)
?