问题标签 [r6]
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 - 使用set动态构造R6类和实例
我想创建一个create_thresholds
动态创建 R6 类和实例对象的函数。这个想法是动态创建一个数据结构,它具有客户端对象可以访问的只读活动字段,类似于 Wickham 所示的示例(https://adv-r.hadley.nz/r6.html - 16.3.2 Active字段)。我已经查看了向 r6 类实例动态添加函数,但我正在寻找一种修改类定义的解决方案,而不是向实例对象添加函数。
该函数create_thresholds
读取 var/val 对的 data.frame,然后创建一个 R6Class 对象,在该对象上尝试设置各种私有字段并创建只读活动字段。该函数通过创建 Thresholds 对象的新实例而终止。
如以下代码所示,调用活动方法似乎会在不正确的环境中评估方法表达式。
r - 在R中如何对R6对象数组进行排序
如何根据自己的函数值或比较函数值对 R6 对象进行排序/排序?
我用矩形组成了一个小例子,我想按它们的面积排序:
我想array_of_rects
按功能给出的区域进行排序get_area()
。
我尝试了不同的方法,例如:
但没有运气(我收到一条'x' must be atomic
错误消息)。
我试过没有[[1]]
(像这样e1$get_area()
),但这也没有用。
四处搜索,但没有找到任何导致我找到解决方案的东西。
有什么建议么?提前致谢!
r - R6:向主类添加功能
我喜欢set
R6 中的函数,因为它允许我更动态地构建对象。我希望能够从 中的空白设置对象开始R6Class()$private$settings
,然后在我有新对象和测试时动态添加到它。
set
覆盖对象,我想在调用R6Class(..)$new
. 这是可能的,还是我应该以不同的方式处理这个问题?我收到错误消息Error in element %in% names(self$private) : object 'self' not found
,所以我假设它与环境有关?
干杯,乔尼
r - 仅在初始化期间“解锁”R6 类
我想动态地将方法添加到一个R6
类中,但仅限于initialize()
. 为此,我必须设置lock_objects
为FALSE
. 是否有一种简单的方法可以在结束时再次锁定对象initialize()
?
r - 即使在 R 中使用 set.seed() 也会产生不同的结果
我用相同的种子重新运行,但不能在 R studio 中产生相同的结果。
调用不同的用户包、R6 类和方法时,set.seed() 会丢失轨道吗?
您是否遇到过类似的情况以及如何解决?
非常感谢
r - 更改 R6 类中的克隆行为
假设我有一个 R6 类,其中一个元素是指向某个 C++ 对象的外部指针。
所以我有这样的事情:
如果我使用myclass$clone()
它仍然会指向相同的myclass$xp
. 如果我这样做也会发生这种情况,myclass$clone(deep = TRUE)
因为它不知道如何在 C++ 端进行克隆。
在这种情况下,我可以使用自定义deep_clone
方法...
但是由于在我的用例中克隆类而不进行深度克隆总是错误的,我想知道是否可以clone
直接更改 的行为。
我尝试只创建一个clone()
方法,但 R6 不允许这样做。
r - 如何在 R6Class 中以私有方法访问公共成员?
这是我的示例代码。我运行最后一个代码Person$GrowUP2()
。但是,我得到了错误Error in Person$GrowUP2() : attempt to apply non-function
我不知道为什么这段代码没有运行。我想使用私有方法来修改公共成员。如何
r - 更新父字段时更新 R6 对象中的依赖字段
我是 R6 和面向对象编程的新手,所以我不确定谈论对象内部字段之间依赖关系的正确方法。
我的对象具有依赖于对象内其他字段的字段。我希望这些依赖字段在更新其中一个输入时自动更新。
我已经想出了一种手动方法,但认为可能有更好的方法。我在田野里玩耍,active
但我无法让它们工作。
这个例子应该很清楚。我有一个quad
接受width
和height
计算的对象area
。我希望area
在更新时自动width
更新height
。
这似乎是活动领域旨在实现的目标之一,但我无法让它们发挥作用。
self$area
出于说明的目的,我通过在每个字段的set
方法中包含一个重新计算行来实现我的目标。
这应该怎么做?
r - 测试 R6 类
是否有任何框架可以测试面向对象的 R 代码,比如 R6 类,可以与 JUnit 相媲美?
作为一名来自 Java 世界的软件工程师,与使用 Java 的 JUnit 或 Scala 的 scalatest 相比,我发现测试 R 代码出奇地繁琐。