4

如果一个包中有函数声明。参数声明时没有类型,只有在运行时调用函数时才能计算出来。

有没有办法描述 R 函数参数类型,以便这些描述可用于静态分析?

用例:IDE 的自省。

==== 编辑 ====

  • 注释?
  • 元描述符?
  • 等等
4

2 回答 2

2

通常不是,R是动态类型的,这可能是一个很大的优势或负担。当然,任何对象R都有一种类型,这些通常可以被强制(或强制转换),但我认为这不是你要问的。您可能希望查看类系统 ( ?class) 以了解某些方法。但通常,由函数编写器在使用输入值之前检查它们。此外,您可能会发现这篇论文很有趣。

检查一下?browseEnv,也许驱动它的代码可能对您的项目感兴趣。还是RStudio

于 2013-02-03T20:43:40.273 回答
0

R 包assertthat( https://cran.r-project.org/web/packages/assertthat/index.html ) 在这方面提供了一些帮助。它适用testthat于在需要打字的包中进行测试。

于 2018-04-16T17:30:46.430 回答