在一个精简的示例中,我有一个引用类对象,该对象在字段中Portfolio
保存单个资产值。holdings
还有一个额外的字段value
,它是通过简单地将 的各个值相加来计算的holdings
:
Portfolio <- setRefClass("Portfolio",
fields = list(holdings = "numeric",
value = function(v) {
sum(holdings)
})
)
在填充holdings
插槽后,很明显value
插槽已被计算。
Portfolio$new(holdings =c(1055.43, 345.7))
Reference class object of class "Portfolio"
Field "holdings":
[1] 1055.43 345.70
Field "value":
[1] 1401.13
问题:如何重写定义以实现对字段的延迟、按需评估value
,仅当它被直接调用时Portfolio$value
?