我了解 R 中的一些运算符和函数在使用帮助函数之前需要反引号。但是,我不明白为什么?function(){}
也有效。有人对此有任何想法吗?
让我们看看会发生什么?
的代码使用 {flow} 包,它可以帮助您检查代码所采用的逻辑路径(遵循整行):
flow::flow_run(?function(){}, out = "png")
我们看到,当表达式是一个调用时,我们调用utils:::.helpForCall
让我们看看那里发生了什么,我们不能打电话flow::flow_run
直接所以我们打电话flow::flow_debugonce
建立utils:::.helpForCall
并打电话?
again
flow::flow_debugonce(utils:::.helpForCall, out = "png")
?function(){}
在那里我们看到,当输入是一个调用时,我们调用utils:::.tryHelp
作为字符串的函数名称。function(){}
是一个电话function
and utils:::.tryHelp("function")
打开帮助文件。
Bonus
@rawr 想知道为什么?cars[1]
不起作用,我没有深入研究它,但乍一看我们看到代码在哪里采用了不同的路径.helpForCall
:
flow::flow_debugonce(utils:::.helpForCall, out = "png")
?mtcars[1]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)