我有代码可以读取和处理我希望允许多个用户使用的数据,但我不想让他们看到代码。
有没有办法使用 R 或 RStudio 做到这一点?
我有代码可以读取和处理我希望允许多个用户使用的数据,但我不想让他们看到代码。
有没有办法使用 R 或 RStudio 做到这一点?
一种选择是使用 Rserve 之类的工具将您的功能公开为服务。但是,这将要求您托管为您的用户运行代码的服务器。
当您使用 R 代码时,imo 无法向用户隐藏代码。您可以分发包的二进制包,但这仍然包括明文形式的 R 代码。此外,当代码加载到 R 中时,用户可以通过在不带括号的命令行上键入任何函数来查看其源代码。
我不确定你为什么要隐藏代码。也许您可以在您的问题中对此发表评论,以使事情更清楚。此外,除了隐藏代码之外,我们也许能够提出可能回答您问题的解决方案。如果隐藏代码是为了让没有经验的用户了解实现细节,您可以执行以下操作。
为希望向用户提供其功能的函数创建包装函数。这样的包装函数可能类似于:
spam_wapper = function(a, b) {
return(.spam(a = a, b = b))
})
使所有非包装函数对用户不可见。他们仍然可以通过明确说明包的命名空间来访问它们:
pkgname::.spam
但更难找到代码,使得没有经验的 R 程序员更难找到。但是一旦他们学会了诀窍,这将不再有用。
如果您的原因是因为您想使用您的 R 代码赚钱,请隐藏您精心制作的 R 代码(在这种情况下,我肯定会分享它:)),或者隐藏您的代码以防止任何可能窃取您想法的竞争。在这种情况下,@baptiste 的建议可能会奏效。但我想用 Fortran、C 或 C++ 重写你的代码需要大量的工作......我想说,只要给他们源代码......