Tôi có thể sao chép lớp tham chiếu R5 khi tôi không khóa một trong các trường, nhưng nó không sao chép nếu một trong các trường bị khóa. Ví dụ mã sau (với cuộc gọi khóa nhận xét). Câu hỏi của tôi: Tại sao tôi không thể tạo một bản sao của cá thể với một trường bị khóa bằng phương thức copy()?Sao chép các lớp tham chiếu R5 bằng biến bị khóa
example <- setRefClass('example',
fields = list(
count = 'numeric',
data = 'data.frame',
d.accessor = function(x) {
if (!missing(x))
data <<- x
else
.self$data
}
),
methods = list(
initialize = function(data) {
if (!missing(data))
d.accessor <<- data
count <<- 0
},
finalize = function()
print('Bye Bye'),
accumulate = function(x)
count <<- count + x
)
)
#example$lock('data') # write-1, read-many
instance <- example$new() # instantiation
df <- data.frame(x=1, y=2)# example df
instance$d.accessor <- df # 1st set - okay!
copyInst <- instance$copy()