【问题标题】:Prevent function override in R防止R中的函数覆盖
【发布时间】:2014-03-05 21:12:39
【问题描述】:

我已经开始通过 rJava 在 tJava 中为 R 编写一个 GUI。

由于我想要一个特定的行为,我正在通过我的名为 gui.eval 的函数评估所有内容。

当有人覆盖这个函数时问题就来了。是否有防止用户覆盖特定功能的机制?

【问题讨论】:

  • 没有防止这种情况的机制。但是你可以把它放在一个包里,像pckagename::gui.eval一样调用它。
  • 你为什么认为有人会首先覆盖它?如果你确定有成群的僵尸高呼“gui...evalllll”,那么给你的 GUI 取一个更不寻常的名字。

标签: r function user-interface overriding


【解决方案1】:

事实上,我能够快速回答我的问题。

其实是有机制的。 lockBinding() 可以解决问题,我将从 R 源代码中删除 unlockBinding 函数。

【讨论】:

  • “我将从 R 源代码中删除 unlockBinding 功能。” – 这会严重削弱您产品的实用性。不是一个好主意。这是一个 hack,而不是真正的解决方案。真正的解决方案是使用 R 包/命名空间。
猜你喜欢
  • 2017-05-29
  • 1970-01-01
  • 2011-04-26
  • 2022-11-18
  • 1970-01-01
  • 2019-04-03
  • 1970-01-01
  • 1970-01-01
  • 2015-10-04
相关资源
最近更新 更多