5
我已经开始通过rJava为tJava编写R的GUI。防止R中的函数覆盖
由于我想要一个特定的行为,我通过称为gui.eval的函数来评估所有事情。
问题出现在有人覆盖此功能时。有没有一种机制来防止用户覆盖特定的功能?
我已经开始通过rJava为tJava编写R的GUI。防止R中的函数覆盖
由于我想要一个特定的行为,我通过称为gui.eval的函数来评估所有事情。
问题出现在有人覆盖此功能时。有没有一种机制来防止用户覆盖特定的功能?
事实上,我能够很快回答我的问题。
实际上有一种机制。 lockBinding()完成这个技巧,我将从R源代码中移除unlockBinding函数。
“我将从R源代码中删除unlockBinding函数” - 这严重削弱了您的产品的实用性。不是一个好主意。这是一个黑客,而不是一个真正的解决方案。真正的解决方案是使用R包/名称空间。 –
没有机制来防止这种情况。但是你可以把它放在一个包中,并称之为'pckagename :: gui.eval'。 – agstudy
为什么你认为任何人首先会覆盖它?如果你确定有大量的僵尸高呼“gui ... evalllll”,那么给你的GUI一个更加不寻常的名字。 –