如何查看R语言中special类型函数的源代码?
查看R中特殊类型函数的源代码方法
对于普通R函数,直接在控制台输入不带括号的函数名即可查看其代码,例如:
> my_func
但像for这类特殊(Primitive/Special)类型的函数,执行get('for')只能得到如下输出:
> get('for') .Primitive("for")
除了直接查看R核心源代码外,还有这些方法可以获取这类函数的实现细节:
- 借助
pryr包的show_c_source()函数:安装并加载pryr包后,执行show_c_source(for),就能直接查看for循环对应的底层C实现代码片段。 - 查阅R官方内置文档:部分特殊函数的工作逻辑会在文档中说明,比如输入
?Control可以查看for、while这类控制流语句的相关细节,虽不是完整源码,但能帮助理解其运行机制。 - 使用
R.utils包的getRSource():该函数可定位到R核心源码中对应函数的文件路径并提取代码内容,不过需要提前配置好R的源码环境。
内容的提问来源于stack exchange,提问作者Carl Witthoft
相关产品推荐
相关产品推荐

