R Under development (unstable) (2024-10-31 r87283 ucrt) -- "Unsuffered Consequences" Copyright (C) 2024 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.0 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: 0x00000276cc34bd50 is about to be removed from the memory! MyClass: 0x00000276cc33f798 is about to be removed from the memory! MyClass: 0x00000276cc239f40 is about to be removed from the memory! used (Mb) gc trigger (Mb) max used (Mb) Ncells 402699 21.6 835642 44.7 629851 33.7 Vcells 753936 5.8 8388608 64.0 2037757 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.37 0.07 0.42