metodo oggetto bloccato nella funzione ricorsiva

B
Barilla (1220 points)
0 17 29
asked Dec 26, 2018 in Es3 by Barilla (1,220 points)
Per l'esercizio 3 ho optato per crearmi una classe nodo che si prende per variabile il percorso del file e lo salva sotto un attributo 'nome', e un metodo che si prende un oggetto nodo e salva in un altro attributo di esso la lista di tuple che rappresentano i pixel del nome. Fin qui ok; successivamente quando mi sono andato a costruire il mio albero di oggetti, ricorsivamente, la prima cosa che faccio è costruirmi l'oggetto ( usando il percorso file come input) e subito dopo chiamo il metodo per avere subito la lista di pixel.

Sembra tutto ok se non fosse che quando sono andato a debuggare sembra che il metodo continui a prendersi ad ogni livello di ricorsione solo il primo oggetto su cui è stato chiamato, quindi continua a salvare negli altri oggetti, che si creano correttamente, la stessa identica lista. Com'è possibile? Per essere chiari, la mia funzione ricorsiva si prende in input il percorso della directory/file in stringa e una lista che uso per calcolarmi l'altezza della matrice

1 Answer

PieMH (2300 points)
2 12 31
answered Dec 29, 2018 by PieMH (2,300 points)
Mi sembra molto strano, a naso direi che la posizione in cui o chiami il metodo o richiami la funzione fa si che questo avvenga, quindi controlla la posizione di queste chiamate.

Ma comunque fa una cosa più semplice... quel metodo chiamalo direttamente dentro il costruttore della classe così sei sicuro che faccia quello che vuoi, no?