‫Willkommen zurück und dieses Video. Wir werden die Arbeit, die wir hatten, reparieren und sehen, wie wir es
‫herausfinden können.
‫In diesem Beispiel ist es also ein sehr einfaches.
‫Und wir wissen wirklich, dass wir diese Methode haben, die die Logik übernimmt.
‫Rechts.
‫Dies ist also diejenige, die herausfindet, ob ein Freund ein Partyfreund ist oder nicht.
‫Und das ist im Allgemeinen etwas, das Ihnen beim Debuggen hilft, denn wenn Sie wissen,
‫was eine bestimmte Methode tut, können Sie an dieser Stelle einen Breakpoint erstellen.
‫Gut.
‫Wenn Sie also in einem Programm arbeiten, das Sie noch nie zuvor verwendet, noch nie gesehen
‫haben, müssen Sie sich natürlich zuerst damit auseinandersetzen und verstehen, was alle Methoden tun.
‫Und deshalb wäre es hier natürlich sinnvoll, eine Zusammenfassung dessen zu haben, was hier vor sich geht.
‫Gut.
‫Also erklären Sie, OK, was bewirkt das?
‫Was ist die Zusammenfassung dieser Methode?
‫Sie können also einfach Tripple verwenden.
‫Ja, trashiger.
‫Und dann können Sie eine kleine Zusammenfassung hinzufügen.
‫Das ist also die Logik, um herauszufinden, wer A ein Partyfreund ist oder wer Partyfreund sein wird oder so ähnlich.
‫Es ist kein perfektes Englisch, aber ich denke, Sie verstehen, was die Idee ist.
‫Sobald Sie das getan haben, wissen Sie, OK, in Ordnung.
‫Hier liegt die Logik und unser Programm funktioniert von selbst.
‫Rechts?
‫Es funktioniert also mehr oder weniger wie beabsichtigt, außer natürlich, dass es uns Freunden zeigt, dass wir einen langen Namen haben
‫und nicht diejenigen mit kurzem Namen.
‫Das Problem liegt also höchstwahrscheinlich in der Logik, wie wir etwas auswählen.
‫Hier könnten wir also bereits sehen oder ich wahrscheinlich dies ist die Methode, bei der wir das Problem haben, damit
‫wir diesen Breakpoint und auch diesen loswerden können.
‫Und dann können wir uns hier unsere Methode anschauen.
‫Also fügen wir einfach einen Breakpoint in der Arget-Party-Friend-Methode hinzu und dann können wir uns das ansehen.
‫Fangen wir also damit an.
‫Und wichtig sind natürlich die Werte, oder?
‫Wir wollen also die Werte wissen.
‫Und in diesem Fall interessieren uns die kürzesten Namen und hier vielleicht auch die Länge, denn das ist die
‫Logik, oder?
‫Was wir also tun würden, ist, dass wir dann zum nächsten Schritt übergehen.
‫Und wir können sehen, OK, die Liste besteht aus sieben Werten, das ist also in Ordnung.
‫Das scheint also zu funktionieren.
‫Wir haben alle unsere Freunde da drin.
‫Bis dahin scheint also alles in Ordnung zu sein.
‫Dann gehen wir zum nächsten Schritt.
‫Wir haben also unser Auge, das unser ist.
‫Zähler und es ist auf Null.
‫Alles klar, das ist in Ordnung, und die letzte Zählung ist sieben, also können wir zum nächsten Schritt gehen.
‫Jetzt haben wir hier einen Vergleich.
‫Wenn Liste I Länge größer kürzeste Länge.
‫Und da sehen wir, dass der kürzeste Name Frank ist.
‫Damit haben wir also angefangen.
‫Rechts.
‫Die Liste beginnt also mit Frank.
‫Also zumindest ich, was null ist.
‫Wir werden Frank haben.
‫Das ist also in Ordnung.
‫Gehen wir nun zum nächsten Schritt, da diese Bedingung in der if-Anweisung anscheinend nicht wahr ist.
‫Gut.
‫Dann können wir zur nächsten Iteration oder zum nächsten Schritt gehen.
‫Und es ist wieder ein Vergleich, jetzt können wir sehen, dass die Liste immer noch sieben Personen umfasst und dass eine Stringlänge mit
‫drei zurückgegeben wurde und die andere fünf war.
‫Also, was ist hier los?
‫Wir schauen uns Joe an und Joe sollte der nächste sein, der auf der Liste steht, weil er einen kürzeren Namen als Frank
‫hat.
‫Und das wissen wir, weil wir das Programm geschrieben haben.
‫Aber aus irgendeinem Grund ist dieser Name immer noch Frank.
‫Dann könnten wir an dieser Stelle erkennen, sind sie in Ordnung?
‫Es liegt also wahrscheinlich daran, dass wir hier einen Fehler haben.
‫Wir vergleichen also erstellt mit, obwohl es weniger als jetzt sein sollte.
‫Rechts.
‫Oder kleiner damals und heute, wenn wir den Breakpoint loswerden und unser Programm erneut ausführen, dann sehen wir, OK, wir bekommen
‫die kürzesten Namen, Joe und Frank und Maria.
‫Gut.
‫Das ist also großartig.
‫Unser Programm ist jetzt also fehlerfrei.
‫Nun, und das liegt natürlich nicht daran, dass wir hier noch viele Probleme haben.
‫Eine davon ist, dass wir diese Liste mit Frank, Joe, Michelle und so weiter haben.
‫Gut.
‫Also haben wir die Liste manuell erstellt, damit wir wissen, was drin ist.
‫Aber jetzt schauen wir mal.
‫Wir versuchen, zehn Leute einzuladen.
‫Aber unsere Tochter hat uns gerade eine Liste mit sieben Leuten gegeben.
‫Lassen Sie uns diesen Code ausführen.
‫Und.
‫Wir haben eine Ausnahme, perfekt, das ist das Tolle an Ausnahmen. Sie wissen, dass mit Ihrem Code etwas nicht stimmt
‫und Sie können es beheben, denn manchmal, wie wir gerade gesehen haben, sind die Fehler super schwierig,
‫wenn Sie die Fehler nicht sehen reparieren.
‫Und hier ist es ein Argument außerhalb des zulässigen Bereichs.
‫Der Index lag außerhalb des zulässigen Bereichs, darf nicht negativ sein und darf kleiner als die Größe der Sammlung sein.
‫Sie können sich also Details dazu anzeigen lassen.
‫Sie können ein wenig mehr über diese Ausnahme sehen und sie erfahren alles, was Sie wissen müssen.
‫Rechts.
‫Also viele Informationen.
‫Meist ist es zu viel.
‫Aber was dies sagt ist, dass wir versuchen, ein Element in der Liste zu existieren, das außerhalb unserer Reichweite liegt.
‫Okay, was könnte es sein?
‫Nun, es könnte die Liste sein, auf die wir zugreifen möchten, damit wir hierher kommen können.
‫Und wir können sehen, dass wir eine Ausnahme haben, wir haben eine Listenanzahl von Null.
‫Also, was ist los, warum ist die Liste Null, weil wir gesehen haben, bevor die Liste sieben war, richtig?
‫Warum ist die Liste plötzlich null?
‫Denn wir nie wirklich.
‫Wir haben uns die Liste angesehen und die Liste gelöscht, oder?
‫Brunnen.
‫Was wir gemacht haben, ist, dass wir ein Element der Liste entfernt haben, also hatten wir eine Liste, die entfernt wurde.
‫Und das ist sozusagen ein Anfängerfehler, denn wie ich Ihnen bereits sagte, gehen wir als Referenz vor,
‫wir geben die Unterschiede zum Befolgen, wenn wir sagen, nicht nach Werten ab.
‫Dass wir hier eine Liste haben wollen und einmal diese Methode aufgerufen wird, was hier der Fall ist, also get
‫party friends wird hier aufgerufen und wir übergeben eine Liste namens friends.
‫Also haben wir diese Liste hier übergeben, was nicht bedeutet, dass wir die Werte übergeben.
‫Wir nicht.
‫Wir haben den Verweis auf diese Werte tatsächlich übergeben, was bedeutet, dass sich alle diese Werte irgendwo in unserem
‫Gedächtnis befinden.
‫Also dort im Speicher unseres Computers.
‫Rechts.
‫Und wir beziehen uns auf diese Werte.
‫Also sagen wir, OK, ich würde gerne zu dieser Erinnerung gehen, wo du all deine Freunde hast.
‫Also würde ich gerne zu Frank gehen.
‫Ich würde gerne zu Joe und so weiter gehen.
‫Wenn wir beispielsweise mit dieser Liste arbeiten, entfernen wir ein Element dieser Liste.
‫Wir erstellen keine Kopie mit den Werten und entfernen dann Elemente aus der Liste.
‫Aber wir löschen tatsächlich in diesem Speicher.
‫Also löschen wir Frank aus der Liste.
‫Wir löschen Joe aus der Liste.
‫Sie können das also ganz einfach sehen, wenn Sie dies für jede Schleife verwenden, um Ihre Freunde zu überprüfen.
‫OK, also werde ich es wieder verwenden, damit wir tatsächlich etwas sehen können.
‫Also gehe ich das für jede Schleife durch.
‫Und wie Sie sehen, wird nur Angelena von nur Angelena angezeigt, da Angelina die siebte in der Liste
‫ist.
‫Und ich habe gerade sechs Personen von der Liste gestrichen.
‫Machen wir das nochmal mit vier Leuten.
‫Nur damit Sie sehen, dass Maria, Carlos und Angelina noch da sind.
‫Also du.
‫Ich verstehe.
‫Eigentlich ist es Michelle.
‫Gut.
‫Umso besser, wir haben jetzt eine sehr seltsame Situation, in der Michelle, Carlos und Angelina immer noch auf der
‫Liste stehen.
‫OK, wir entfernen ständig jemanden aus der Liste.
‫Und das schafft eine Menge Probleme, denn wenn jemand anders oder wenn wir
‫diese Freundesliste woanders verwenden, dann ist sie leer und wird beschädigt.
‫Es wird dort nicht die Anfangswerte enthalten.
‫Und das sollten wir nicht tun.
‫Was wir also tun können, ist, hier einen Puffer zu erstellen.
‫Also werde ich einfach ein neues Verb namens Buffer erstellen, und das wird eine neue Liste von Strings sein.
‫Und es wird meine Liste sein, also werde ich nur meine Liste weitergeben, die mir an dieser Stelle übergeben wird.
‫Gut.
‫Und ich werde es in Buffer speichern.
‫Es wird also eine neue Liste.
‫Und jetzt können wir sehen, dass wir natürlich jetzt aus dem Puffer entfernen müssen.
‫Daher werden wir diese Kopie der Liste entfernen.
‫Wir werden nicht aus der Liste selbst entfernen.
‫Gut.
‫Das ist die wichtige Unterscheidung, die wir machen müssen.
‫Wir entfernen jetzt aus der Kopie.
‫Jetzt müssen wir natürlich auch hier den Puffer nutzen, um die Partyfront zu bekommen, denn sonst werden wir nie
‫etwas von der Liste veröffentlichen, die immer sieben Personen sein wird.
‫Selbst in dieser Pufferliste werden es also immer sieben Personen sein und dann wird es nicht richtig funktionieren.
‫Gut.
‫Damit wir Frank, Jo, Michelle sind, steht noch alles in der Liste.
‫OK, also funktioniert das für jede Schleife gut.
‫Und im Vergleich dazu könnten wir noch vier weitere Schleifen machen und es mit Partyfreunden ausprobieren, nur um
‫zu sehen, ob wir jetzt nur noch sieben Partyfreunde haben, drei Partyfreunde.
‫Sie können also sehen, dass es sich tatsächlich um Freunde der vierten Partei handelt.
‫Also sind alle drin und Joe und Frank und Maria sind auch noch drin.
‫Also haben wir die Freundesliste nicht gelöscht.
‫Wir haben die Elemente aus der Pufferliste gelöscht.
‫Und das brauchen wir jetzt natürlich nicht mehr.
‫Dies war also nur zu Testzwecken und zum Debuggen.
‫Aber jetzt haben wir ein Programm, das gut funktioniert.
‫Nun könnte man sagen, gut, wir haben keine Bugs mehr.
‫Nun, aber wir haben diesen einen Fehler immer noch nicht behoben, den wir vorher hatten, wenn wir 10 Jahre eintraten.
‫Wir würden.
‫Holen Sie sich einen Fehler oder einen Fehler, eigentlich eine Ausnahme außerhalb des zulässigen Bereichs.
‫Was können wir hier also tun?
‫Weil wir versuchen, auf ein Element zuzugreifen, das nicht existiert.
‫Wir versuchen also, auf ein Listenelement zuzugreifen, obwohl unsere Liste leer ist.
‫Zählen wir also gleich Null.
‫Und das ist etwas, das wir im nächsten Video beheben werden, denn das sind wieder mehr als 10 Minuten
‫und ich möchte keine superlangen Videos machen.
‫Daher zeige ich Ihnen im nächsten Video, wie Sie dies beheben können, da wir viele Probleme haben, die sich daraus
‫ergeben.
‫Gut.
‫Lassen Sie uns sie also im nächsten Video beheben.
‫Wir sehen uns dort.