R Under development (unstable) (2025-05-01 r88184 ucrt) -- "Unsuffered Consequences" Copyright (C) 2025 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > library("R.oo") Loading required package: R.methodsS3 R.methodsS3 v1.8.2 (2022-06-13 22:00:14 UTC) successfully loaded. See ?R.methodsS3 for help. R.oo v1.27.1 successfully loaded. See ?R.oo for help. Attaching package: 'R.oo' The following object is masked from 'package:R.methodsS3': throw The following objects are masked from 'package:methods': getClasses, getMethods The following objects are masked from 'package:base': attach, detach, load, save > > oopts <- options(warn=1L) > > message("TESTING: finalize() on Object ...") TESTING: finalize() on Object ... > > setConstructorS3("MyClass", function() { + extend(Object(), "MyClass") + }) > > setMethodS3("finalize", "MyClass", function(this, ...) { + cat(as.character(this), "is about to be removed from the memory!\n") + }) NULL > > o <- MyClass() > o <- MyClass() > o <- MyClass() > o <- MyClass() > gc() MyClass: 0x0000023ec62a0260 is about to be removed from the memory! MyClass: 0x0000023ec62842d0 is about to be removed from the memory! MyClass: 0x0000023ec5171c70 is about to be removed from the memory! used (Mb) gc trigger (Mb) max used (Mb) Ncells 402987 21.6 836594 44.7 629594 33.7 Vcells 754820 5.8 8388608 64.0 2039656 15.6 > > ## MyClass: 0x01BE602C is about to be removed from the memory! > ## MyClass: 0x01BFF634 is about to be removed from the memory! > ## MyClass: 0x01C13584 is about to be removed from the memory! > ## used (Mb) gc trigger (Mb) > ## Ncells 229903 6.2 467875 12.5 > ## Vcells 53725 0.5 786432 6.0 > > rm(o) > ## MyClass: 0x01C578B0 is about to be removed from the memory! > ## used (Mb) gc trigger (Mb) > ## Ncells 229903 6.1 467875 12.3 > ## Vcells 53725 0.5 786432 6.0 > > message("TESTING: finalize() on Object ... DONE") TESTING: finalize() on Object ... DONE > > options(oopts) > > proc.time() user system elapsed 0.21 0.03 0.23