R に次のような S3 オブジェクトがあります。
myObject <- list(
someParameter1 = 4,
someList = 1:10
)
class(myObject) <- "myClass"
このクラスの抽出メソッドを作成しました。
"[.myClass" <- function(x, i) {
x$someList[i] * x$someParameter1
}
myObject[5]
# 20
ここで、割り当てメソッドを作成したいと思います (サブ割り当て?Extractと呼ばれることを理解しているため)。次のように記述できます。
myObject[5] <- 250
myObject[5]
# 1000
私は最初に素朴にこれを次のように書き込もうとしました
"[<-.myClass" <- function(x, i, value) {
x$someList[i] <- value
}
しかし、何らかの理由で、これは に置き換えmyObjectられvalueます。xand を変更する必要があると思いますが、どうすればandassign("someName", x, pos=somewhere)を確実に判断できますか?someNamesomewhere
または、これを行う別の方法はありますか?