Я создал класс банковского счета с пакетом R6. Он имеет личный баланс (недоступный после генерации) и методы для снятия и внесения определенной суммы, а также метод печати. (Hadley Wickham 14.3.3)
BankAccount <- R6::R6Class("BankAccount", public = list(
# Functions to withdraw and deposit.
deposit = function(amount){
private$balance <- private$balance + amount
},
withdraw = function(amount){
if (amount < private$balance){
private$balance <- private$balance - amount
}
else {
stop("Amount withdrawn is greater than available balance by", -(private$balance - amount))
}
},
initialize = function(initial_balance){
private$balance <- initial_balance
},
print = function(){
cat("Bank balance is equal to", private$balance)
}
),
private = list(
balance = NULL
)
)
В настоящее время, если я создаю новый объект R6 и вызываю функцию изъятия с суммой, превышающей ее первоначальный баланс, функция остановится и напечатает сообщение. Вместо этого я хотел бы, чтобы вновь созданный объект был удален напрямую. Как мне этого добиться?