Mi chiedevo se esiste un metodo .finalize() simile per gli oggetti Ruby, che li contrassegna pronti per la garbage collection. Se creerei 20.000 oggetti e ogni istanza abbia un contatore, vorrei che l'oggetto fosse marcato per la garbage collection quando raggiunge zero. So che questo è più o meno un approccio Java, ma non ho esperienza sufficiente con Ruby per capire come ciò potrebbe essere fatto meglio.Ruby: Contrassegna un oggetto per la garbage collection
Grazie per le vostre risposte, commenti e feedback!
finalize non contrassegna gli oggetti per la garbage collection, è un metodo che viene eseguito (anche se non c'è garanzia) appena prima che il GC cancelli l'oggetto – pablochan
Questo è bello sapere, grazie per averlo indicato. Esiste un metodo specifico che distrugge esplicitamente l'oggetto o almeno lo mette in movimento? Mi piace la magia, ma mi piace anche capire i trucchi esposti. – Shyam
Hai solo bisogno di rimuovere tutti i riferimenti all'oggetto e. g. se hai un riferimento x lo imposti su null o hai una variabile locale che diventa fuori portata. Se non ci sono riferimenti, un oggetto è disponibile per il GC. – pablochan