R 参照クラスについて私が本当に気に入らないことが 1 つあります。それは、メソッドを記述する順序が重要であることです。クラスが次のようになるとします。
myclass = setRefClass("myclass",
fields = list(
x = "numeric",
y = "numeric"
))
myclass$methods(
afunc = function(i) {
message("In afunc, I just call bfunc...")
bfunc(i)
}
)
myclass$methods(
bfunc = function(i) {
message("In bfunc, I just call cfunc...")
cfunc(i)
}
)
myclass$methods(
cfunc = function(i) {
message("In cfunc, I print out the sum of i, x and y...")
message(paste("i + x + y = ", i+x+y))
}
)
myclass$methods(
initialize = function(x, y) {
x <<- x
y <<- y
}
)
次に、インスタンスを開始し、メソッドを呼び出します。
x = myclass(5, 6)
x$afunc(1)
次のエラーが表示されます。
Error in x$afunc(1) : could not find function "bfunc"
私は2つのことに興味があります:
- この煩わしさを回避する方法はありますか?
- これは、非常に長いクラス ファイルを複数のファイルに分割できないということですか? (たとえば、メソッドごとに 1 つのファイル。)