我正在开发一个函数,用户可以提供一些数据和参数,并且该函数返回类似dput
的代码,供脚本使用。它应该有助于编码。通过替换脚本中的代码,第三方不需要执行我的全部功能。
我遇到的问题是行为取决于用户单击的位置和方式。如果这是函数:
crosswalk = function(){
selection = rstudioapi::getSourceEditorContext()$selection[[1]]$range
doc_id = rstudioapi::getSourceEditorContext()$id
rstudioapi::insertText(location = selection, 'foo_bar_fizz_bang', id = doc_id)
}
您有这个脚本:
crosswalk()
summary(mtcars)
然后这三个动作产生不同的结果:
crosswalk()
并运行crosswalk()
的末尾并运行。此文本是否有取代函数类型的约定而不会引起混淆?
有没有一种方法可以检测脚本中从何处调用函数?
理想情况下,我希望将文本crosswalk()
替换为函数的输出。
谢谢!