Jak dodajesz do pętli po której iterujesz, to też odejmij...

... bo inaczej będzie infinity loop i apka stanie.

    Taka sytuacja: robię sobie spokojnie apkę i tam zmieniam różne rzeczy i chcę, by do każdego elementu z listy coś się dodawało. No to wrzucam for each item from list add this...

    Rezultat? Apka się zacina. Ocb? Nie rozumiem.

    Ctrl+z - nic, Ctrl+z dalej nic. Odejmuje połowę funkcjonalności i dalej stoi.

    Panika: "Cała apka się zepsuła, bo coś za dużo dodałem. Może moja logika przewyższa techniczne możliwości apki i apka nie wytrzymuje napięcia?"

    Na szczęście pracuje na backupowym pliku, więc nie wszystko stracone, od jakiegoś punktu apka działa więc dalej kroczek po kroczku dodaje funkcje jak poprzednio i sprawdzam czy działa. Wszystko idzie zgodnie z planem, aż do ostatniego momentu, w którym wszystko powinno zacząć działać. I właśnie w tym momencie, po uruchomieniu kluczowej funkcjonalności Apka zacina się, nie da się nic kliknąć a po chwili w ogóle wyłącza się bliżej nieokreślonym błędem.

    OCB, przecież przed chwilą działało.

    Już nawet zgłosiłem błąd do autorów, aż tu nagle przebudzenie.

    Zauważyłem, że zanim zacznie "doskonale działać" to zgłasza błąd, że nie może wykonać równania dla nowych elementów - dla elementów, które już końcowo powinny być, i już dla nich nie powinno nic się dziać. Patrzę na listę, a tu są i stare i nowe elementy i apka dalej coś chce robić, a gdy jej to umożliwiam to wtedy staje... No to już wszystko jasne... infinity loop...

    Gdy coś dodawałem do listy po której iterowałem, to iteracja nigdy się nie kończyła, ponieważ w każdym elemencie pojawiały się nowe elementy i tak bez końca. Dlatego wystarczyło w każdym elemencie zamienić obecny element do nowej postaci bez dodawania niczego, albo usunąć stary w jego miejsce wstawić nowy.

    Tyle zachodu, ale przynajmniej czegoś się nauczyłem.


    To tyle ode mnie na dziś, zapraszam Cię do dzielenia się swoimi wrażeniami z tego posta, lub np. swoim dzisiejszym odkryciem  np. w komentarzu :)

Komentarze

Popularne posty z tego bloga

IntelliJ: zmiana rozmiaru czcionki scrollem

ThunderBird: jak zrobić professional stopkę