让我们看看?
的代码中使用{flow}包会发生什么,它可以帮助您判断代码所采用的逻辑路径(按照完整的行):
flow::flow_run(?function(){}, out = "png")
我们看到,当表达式是call时,我们称其为utils:::.helpForCall
我们不能直接拨打?
,我们再拨打flow::flow_debugonce
flow::flow_debugonce(utils:::.helpForCall, out = "png")
?function(){}
在这里我们看到,当输入是一个调用时,我们将函数名作为字符串调用utils:::.tryHelp
.function(){}
是打给function
的电话
prize
@rawr想知道为什么?cars[1]
不起作用,我还没有详细研究过,但我们一眼就能看出.helpForCall
中的代码采用了不同的路径:
flow::flow_debugonce(utils:::.helpForCall, out = "png")
?mtcars[1]