【发布时间】:2021-11-17 18:07:18
【问题描述】:
在 R 中,我可以使用 .subset2 充当 [[ 或 $ 而无需调度。
> a <- new.env()
> a$foo <- 3
> .subset2(a, "foo")
[1] 3
但是,如果没有调度,我似乎找不到设置操作的等效项:
> .subset2(a, "foo") <- 5
.subset2(a, "foo")
如何在不使用 [[<- 或 $<- 运算符的隐式调度的情况下进行设置?
【问题讨论】:
-
这些有什么问题?如果没有某种
.subset2<-(),你想要实现什么? -
@mnist 没有 .subset2
-
@mnist 我正在尝试覆盖某些 R6 类的美元行为。如果有调度,我进入递归。
-
“我正在尝试覆盖某些 R6 类的美元行为。”这是否意味着您打算屏蔽
$<-函数?这可能会产生一些严重的性能影响。我建议不要屏蔽.Primitive函数。 -
@Roland 我不在乎性能。我希望在引用不存在的内容时引发错误。你们 R 人太在意性能了