‫Bentornato e questo video, ripareremo il lavoro che abbiamo avuto e vedremo come possiamo
‫capirlo.
‫Quindi in questo esempio, è molto semplice.
‫E sappiamo davvero che abbiamo questo metodo che fa la logica.
‫Destra.
‫Quindi questo è quello che capisce se un amico è un amico di partito o no.
‫E questo è qualcosa che generalmente è qualcosa che ti aiuterà a eseguire il debug, perché se sai
‫cosa farà un metodo specifico, allora puoi creare un punto di interruzione in quel punto.
‫Va bene.
‫Quindi, se lavori in un programma che non hai mai usato prima, visto prima, allora,
‫ovviamente, devi, prima di tutto, esaminarlo e capire cosa fanno tutti i metodi.
‫Ed è per questo che qui, ovviamente, sarebbe utile avere un riassunto di quello che sta succedendo qui.
‫Va bene.
‫Quindi spiega, ok, cosa fa questo?
‫Qual è il riassunto di questo metodo?
‫Quindi puoi semplicemente usare il triplo.
‫Sì, trash.
‫E poi puoi aggiungere un piccolo riassunto.
‫Quindi questa è la logica per capire chi A è un amico di partito o chi sarà un amico di partito o qualcosa del genere.
‫Non è un inglese perfetto, ma penso che tu capisca qual è l'idea.
‫Quindi, una volta fatto, saprai, OK, va bene.
‫È qui che sta la logica e il nostro programma funziona da solo.
‫Destra?
‫Quindi funziona come previsto, più o meno, tranne, ovviamente, che ci mostra agli amici che abbiamo un nome lungo e
‫non quelli con un nome corto.
‫Quindi molto probabilmente il problema risiede nella logica, nel modo in cui selezioniamo qualcosa.
‫Quindi qui potremmo già vedere o probabilmente questo è il metodo in cui abbiamo il problema in modo da poter
‫eliminare questo punto di interruzione e anche questo.
‫E poi possiamo dare un'occhiata al nostro metodo qui.
‫Quindi aggiungiamo solo un punto di interruzione nel metodo arget party friend e poi possiamo esaminarlo.
‫Quindi iniziamo con esso.
‫E ciò che è importante sono, ovviamente, i valori, giusto?
‫Quindi vogliamo conoscere i valori.
‫E in questo caso, siamo interessati al nome più corto e forse anche alla lunghezza qui, perché questa è la
‫logica, giusto?
‫Quindi quello che faremmo è andare al passaggio successivo.
‫E possiamo vedere, OK, l'elenco è composto da sette valori, quindi va bene.
‫Quindi questo sembra funzionare.
‫Abbiamo tutti i nostri amici lì dentro.
‫Quindi fino a quel momento, tutto sembra andare bene.
‫Quindi andiamo al passaggio successivo.
‫Quindi abbiamo il nostro occhio, che è il nostro.
‫Contatore ed è a zero.
‫Va bene, va bene, e l'ultimo conteggio è sette, quindi possiamo andare al passaggio successivo.
‫Ora, abbiamo un confronto qui.
‫Se elenco I lunghezza maggiore lunghezza minima.
‫E lì possiamo vedere che il nome più corto è Frank.
‫Quindi è quello con cui abbiamo iniziato.
‫Destra.
‫Quindi l'elenco inizia con Frank.
‫Quindi almeno io che è zero.
‫Avremo Frank.
‫Quindi va bene.
‫Ora, andiamo al passaggio successivo poiché sembra che questa condizione nell'istruzione if non fosse vera.
‫Va bene.
‫Quindi possiamo passare all'iterazione successiva o al passaggio successivo.
‫Ed è di nuovo il confronto ora possiamo vedere che l'elenco è ancora di sette persone e che abbiamo avuto una lunghezza di
‫stringa restituita con tre e l'altra era cinque.
‫Allora cosa sta succedendo qui?
‫Stiamo guardando Joe e Joe dovrebbe essere il prossimo che è nell'elenco perché ha un nome più corto di
‫Frank.
‫Ed è qualcosa che sappiamo perché abbiamo scritto il programma.
‫Ma per qualche ragione, certo, questo nome è ancora Frank.
‫Quindi a questo punto potremmo renderci conto che stanno bene?
‫Quindi probabilmente è che abbiamo un errore qui.
‫Quindi stiamo confrontando creato con anche se dovrebbe essere inferiore a adesso.
‫Destra.
‫O più piccoli allora e adesso, se eliminiamo il punto di interruzione ed eseguiamo di nuovo il nostro programma, allora vedremo, OK,
‫otteniamo i nomi più brevi, Joe, Frank e Maria.
‫Va bene.
‫Quindi è fantastico.
‫Quindi ora il nostro programma è privo di bug.
‫Beh, e ovviamente non è perché abbiamo ancora molti problemi qui.
‫Quindi uno di questi è che abbiamo questa lista con Frank, Joe, Michelle e così via.
‫Va bene.
‫Quindi abbiamo creato l'elenco manualmente in modo da sapere cosa c'è dentro.
‫Ma ora vediamo.
‫Quello che cerchiamo di fare è cercare di invitare dieci persone.
‫Ma nostra figlia ci ha appena dato una lista di sette persone.
‫Quindi eseguiamo questo codice.
‫E.
‫Abbiamo un'eccezione, perfetta, quindi questa è la cosa grandiosa delle eccezioni, sai che qualcosa non va nel
‫tuo codice e puoi risolverlo perché a volte, come abbiamo appena visto, se non vedi
‫i bug, sono super difficili aggiustare.
‫E qui è un argomento fuori dall'intervallo di eccezione.
‫L'indice era fuori intervallo, deve essere non negativo e inferiore alla dimensione della raccolta.
‫Quindi puoi visualizzare i dettagli su questo.
‫Puoi vedere qualcosa in più su questa eccezione e ti dirà tutto ciò che devi sapere.
‫Destra.
‫Quindi molte informazioni.
‫Il più delle volte è troppo.
‫Ma ciò che dice è che stiamo cercando di eliminare un elemento nell'elenco che è fuori dalla nostra portata.
‫OK, quindi cosa potrebbe essere?
‫Beh, potrebbe essere l'elenco a cui stiamo cercando di accedere in modo da poter andare qui.
‫E possiamo vedere che abbiamo un'eccezione, abbiamo una lista che conta zero.
‫Quindi cosa sta succedendo, perché l'elenco è zero, perché abbiamo visto prima che l'elenco fosse sette, giusto?
‫Allora perché la lista è improvvisamente zero?
‫Perché non abbiamo mai veramente.
‫Abbiamo guardato l'elenco e cancellato l'elenco, giusto?
‫Bene.
‫Quello che abbiamo fatto è stato rimuovere un elemento dell'elenco, quindi abbiamo avuto un elenco da rimuovere.
‫E questo è un errore da principiante, per così dire, perché come ti ho detto prima, stiamo passando
‫per riferimento, non stiamo passando per valore le differenze a seguire quando diciamo.
‫Che vogliamo avere un elenco qui e una volta chiamato questo metodo, che è il caso qui, quindi qui viene
‫chiamato ottenere amici della festa e passiamo un elenco chiamato amici.
‫Quindi abbiamo passato questo elenco qui, il che non significa che passiamo i valori.
‫noi no.
‫In realtà abbiamo passato il riferimento a quei valori, il che significa che tutti quei valori sono da qualche parte
‫nella nostra memoria.
‫Quindi c'è nella memoria del nostro computer.
‫Destra.
‫E ci riferiamo a quei valori.
‫Quindi diciamo, OK, vorrei andare a questo ricordo dove hai tutti i tuoi amici.
‫Quindi vorrei andare da Frank.
‫Vorrei andare da Joe e così via.
‫Quindi, una volta che lavoriamo con questo elenco, ad esempio, rimuoviamo un elemento di quell'elenco.
‫Non creiamo una copia con i valori e poi andiamo avanti e rimuoviamo gli elementi dall'elenco.
‫Ma in realtà stiamo cancellando in questa memoria.
‫Quindi stiamo eliminando Frank dalla lista.
‫Stiamo eliminando Joe dall'elenco.
‫Quindi puoi vederlo abbastanza facilmente se lo usi per ogni ciclo per controllare i tuoi amici.
‫OK, quindi lo userò di nuovo in modo che possiamo effettivamente vedere qualcosa.
‫Quindi sto esaminando questo per ogni ciclo.
‫E come puoi vedere, solo Angelena viene visualizzata solo da Angelena perché Angelina è la settima
‫nell'elenco.
‫E ho appena rimosso sei persone dalla lista.
‫Facciamolo di nuovo con quattro persone.
‫Solo così puoi vedere che Maria, Carlos e Angelina sono ancora lì.
‫Quindi tu.
‫Vedo.
‫In realtà, è Michelle.
‫Va bene.
‫Quindi, ancora meglio ora, abbiamo una situazione molto strana in cui sono Michelle, Carlos e Angelina che sono ancora
‫nella lista.
‫OK, quindi rimuoviamo costantemente qualcuno dall'elenco.
‫E questo crea un sacco di problemi perché se qualcun altro o se usiamo la lista
‫di questo amico da qualche altra parte, allora sarà vuota e sarà corrotta.
‫Non avrà i valori iniziali lì dentro.
‫Ed è qualcosa che non dovremmo fare.
‫Quindi quello che possiamo fare è creare un buffer qui.
‫Quindi creerò un nuovo verbale chiamato buffer, e questo sarà un nuovo elenco di stringhe.
‫E sarà la mia lista, quindi passerò solo la mia lista che mi è stata passata a questo punto.
‫Va bene.
‫E lo conserverò in Buffer.
‫Quindi sarà una nuova lista.
‫E ora quello che possiamo vedere è che, ovviamente, dobbiamo ora rimuovere dal buffer.
‫Quindi rimuoveremo da questa copia dell'elenco.
‫Non rimuoveremo dall'elenco stesso.
‫Va bene.
‫Questa è l'importante differenziazione che dobbiamo fare.
‫Stiamo rimuovendo dalla copia ora.
‫Ora, ovviamente, dobbiamo anche usare il buffer qui per ottenere il fronte del partito, perché altrimenti non rilasceremo
‫mai nulla dalla lista che sarà sempre di sette persone.
‫Quindi, anche in questo elenco di buffer, saranno sempre sette persone e quindi non funzionerà correttamente.
‫Va bene.
‫Quindi siamo Frank, Jo, Michelle, tutto è ancora nella lista.
‫OK, quindi il ciclo per ogni funziona bene.
‫E in confronto, quello che potremmo fare è fare altri quattro giri e dare un'occhiata con gli amici di festa solo
‫per vedere se ora abbiamo solo sette amici di festa, tre amici di festa.
‫Quindi puoi vedere che in realtà sono amici di quarta parte.
‫Quindi sono tutti lì dentro e anche Joe, Frank e Maria sono ancora lì.
‫Quindi non abbiamo eliminato l'elenco degli amici.
‫Abbiamo eliminato gli elementi dall'elenco dei buffer.
‫E ora, ovviamente, non ne abbiamo più bisogno.
‫Quindi questo era solo per scopi di test e per il debug.
‫Ma ora abbiamo un programma che funziona bene.
‫Ora, potresti dire, va bene, non abbiamo più nessun bug.
‫Bene, ma non abbiamo ancora corretto quell'unico bug che avevamo prima di entrare nel 10 anno.
‫Noi vorremmo.
‫Ottieni un bug o un errore, in realtà un argomento fuori dall'intervallo di eccezione.
‫Allora cosa possiamo fare qui?
‫Perché stiamo cercando di accedere a un elemento che non esiste.
‫Quindi stiamo cercando di accedere a un elemento della lista, anche se la nostra lista è vuota.
‫Quindi contiamo è zero.
‫E questo è qualcosa che risolveremo nel prossimo video, perché, di nuovo, sono più di 10 minuti
‫e non voglio fare video molto lunghi.
‫Quindi ti mostrerò come risolvere questo problema nel prossimo video perché abbiamo molti problemi che derivano da
‫questo.
‫Va bene.
‫Quindi risolviamoli nel prossimo video.
‫Ci vediamo lì.