Alfonso Martone wrote: > > Quello che avviene, in quei Basic, quando fai A$(I)="#"+STR$(I) e': > - crea la stringa "#" sul pool delle stringhe > - crea la stringa STR$(I) sul pool > - crea una nuova stringa e copiaci le due precedenti > - marca le prime due come "unused space" e fai finta di niente. > > Per cui dopo un po' di assegnamenti, lo spazio delle stringhe e' > mostruosamente frammentato. Quando non c'e' piu' spazio, viene > chiamata (dal sistema, se prima non ci ha pensato l'utente) la FRE(0) > a riordinare (per cui in teoria basterebbe chiedere un FRE(0) dopo > ogni assegnazione, cosicche' il pool stringhe e' sempre pulito). E > piu' buchi vuoti ci sono e peggio sara'...! Qualsiasi linguaggio (degno di questo nome) che gestisce la memoria in questo modo dispone di un efficiente garbage collector che fa il lavoro bene ed automaticamente. Conclusione: quel Basic faceva schifo? :-) EMG -- EMAG Software Homepage: http://www.emagsoftware.it The EMG's ZX-Spectrum Page: http://www.emagsoftware.it/spectrum The Best of Spectrum Games: http://www.emagsoftware.it/tbosg