包R中不纯函数的常见测试

时间:2015-05-12 19:03:37

标签: r function functional-programming r-package

纯函数是一个函数,其中返回值仅由其输入值确定,没有可观察到的副作用。

有哪些方法可以以编程方式在R中捕获不纯的函数?

  • 我在浏览包时经常lsf.str("package:base")(在这里使用base作为示例)。

  • 我也尝试浏览源代码,看看是否/哪里有调用函数,我知道这些函数是纯粹的。

  • 我倾向于多次运行函数文档中给出的示例并测试结果是否相等:例如。 is.recursive(replicate(10, 1+2))

这不是非常耗时,我确信有一套更好/更健壮的方法来探索哪些功能不纯。

那么R包中不纯函数的常见/稳健测试是什么?

- 最佳练习切线(随意忽略):另外,如果你有一个不纯的函数,你应该在? <下明确记录它吗? / p> 注:我只是在寻找人们可能会使用的常见清单类型的东西,而不是总能捕捉到所有情况的东西(因为这可能甚至不可能......)

0 个答案:

没有答案