问题标签 [reference-class]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 输出到pdf不能与R中的ReferenceClasses方法一起使用?
输出到pdf不能与R中的ReferenceClasses方法一起使用?
这是一个取自 ReferenceClasses R 文档的示例,稍作修改:
请注意,我已经注释掉了有关输出设备切换的那些行,因此它始终使用默认设备,否则当view
调用该方法时,绘图根本不会写入 pdf 文件。知道为什么会这样吗?
r - 将变量从 RData 文件加载到对象中,它是否有效内存?
这是一个例子:
在初始化函数中,是否复制了 x 和 y 的值?如果它们的尺寸很大,会不会有问题?有没有更好的方法从文件中加载变量?
r - 参考类字段列表中的多个可接受类
例如:
在这个例子中,我想允许colorvec
是数字或因子或矩阵。有没有办法做到这一点?
r - 从外部包引用类继承
我正在尝试覆盖引用类方法。因为引用类方法绑定到类而不是对象,我相信为了做到这一点,我需要定义一个继承自旧引用类的新引用类。然而,我试图继承的类是在我的外部包(dplyr)中定义的。我无法弄清楚执行此操作的正确语法,包含似乎只需要一个文本名称,并且不搜索外部包中的类定义。
特别是我试图从 dplyr 继承 DbDisconnector 引用类并覆盖 finalize 方法。
这正确地找到了父类,但随后无法分配给它,因为它来自不同的包。
包含方法只接受字符串,不能只从 getRefClass 给它们一个 refClass 定义。
我认为这应该是可能的,我只是想不出正确的方法。
r - 如何使用引用类扩展 data.table?
问题:
我希望创建一个扩展的参考类data.table
。
动机是
- 想要一个
data.table
带有自定义方法和可变字段的 - 仍然希望所有现有语法(例如索引、子集、合并等)按预期工作
问题是我到目前为止失败了。
尝试:
我试过:
但是得到了错误:
但是,我期待这样的事情:
怎么了?
r - 未找到构建 R 包和类定义/类定义
我正在构建一个 R 包,并且有几个文件只包含类定义(R6Classes,但我确信这适用于任何类型)。在构建包时,由于未找到某些定义而出现错误 - 例如,文件未按必要的顺序加载:
我知道 .R 中的Collate:
字段DESCRIPTION
,但我必须写下包中的每个 .R 文件。随着项目规模的扩大,这非常麻烦......
我想到了另外两个选择:
将起始函数放在文件中的行尾 (
Z_Evaluate.R
)或者将所有类定义文件 () 内容包装
<FileName>
在它们自己的加载函数 (LoadClassDefinitionsFrom<FileName>()
) 中,并在启动函数的开头以正确的顺序调用它们。
两者对我来说似乎都不是很方便。如果我没记错的话,Latex 编译器会两次检查源代码以确保一切正常。这在 R 中可能是不可行的。
处理此类问题的最佳做法是什么?
r - R参考类和多个文件中的方法顺序
关于 R 引用类,我真的不喜欢一件事:编写方法的顺序很重要。假设你的课程是这样的:
然后你启动一个实例,并调用一个方法:
你会得到一个错误:
我对两件事感兴趣:
- 有没有办法解决这个麻烦?
- 这是否意味着我永远无法将一个非常长的类文件拆分为多个文件?(例如,每种方法一个文件。)
r - 保存 R 参考类的字段
我正在尝试保存 R 引用类的字段:
显然它不起作用:
然后我尝试附加.self:
得到另一个错误:
r - R参考类中有析构函数吗?
就像一个测试:
然后尝试创建和删除一个对象:
根本没有调用 finalize 函数......
r - 如何在 PackageB 中扩展 PackageA 的引用类?
问题
下图显示了我的问题:
我正在尝试创建一个引用类ClassB
,PackageB
其中扩展ClassA
另一个包中的引用类PackageA
。
一旦ClassB
被实例化,R 就会抱怨PackageA
找不到私有(非导出)对象(特别是函数)。
最小工作示例 (MWE)
下图显示了 MWE 的工作原理:
ClassA
取决于PackageA
(fractions
来自import
-ed 包MASS
,并PrivateFunc
在其内部定义PackageA
)中的 2 个私有函数。ClassB
通过继承ClassA
.
一旦ClassB
被实例化,就会有一个错误抱怨PrivateFunc
找不到。这些错误发生在我构建PackageB
.
编码:
我尝试构建时的错误PackageB
:
怎么了?