【发布时间】:2015-05-30 15:18:05
【问题描述】:
我有一段代码我想在一个函数中多次使用(我们称之为myFunction)。我自然想避免重复这段代码,但除了将其放入外部文件并每次都获取它之外,我找不到重用它的方法。
我尝试的第一件事是将重复的代码放在不带参数的内部迷你函数中(我们称之为internalFunction。这意味着我可以根据需要调用internalFunction;但是,这掩盖了对象输出来自myFunction主环境的internalFunction。
然后我尝试使用<<- 运算符在internalFunction 中分配输出对象,以便它们可用于myFunction 的主环境。不幸的是,这也使得这些对象在 myFunction 之外的全局 R 环境中可用,我想避免这种情况。
有没有办法将 R 代码块写入对象然后调用它,或者从对象而不是文件中获取?我真的很想 a) 避免重复代码和 b) 将所有代码包含在一个文件中。
【问题讨论】:
-
我不清楚为什么不能将 internalFunction 创建的对象作为返回值返回给 myFunction。也许如果您在一个小示例中发布您尝试过的代码,我可以明白您的意思。
标签: r function code-duplication