Closure i zapamiętanie zmiennej |
Closure i zapamiętanie zmiennej |
28.11.2015, 12:54:44
Post
#1
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 22 Dołączył: 10.02.2015 Ostrzeżenie: (0%) |
Witam, od razu przechodzę do problemu:
Przykład z książki Obiekty, wzorce, narzędzia. Zaznaczam, że wszystko działa jak należy, lecz nie rozumiem pewniej zależności. Klasa product wiadomo bez komentarza, klasa Sale zarządza callbackami podczas sprzedaży, klasa Callback generuje tylko callback. Jako parametr metody warnAmount daję liczbę, któej przekroczenie w "zakupach" wygeneruje błąd. Ale jak to się dzieje, że jak deklaruję zmienną count jako 0 to w każdym wywołaniu metody sale ona "pamięta dotychczasowy stan". Wiem, że istnieją zmienne statyczne w funkcjach, które pomiędzy wywołaniami "pamiętają" swoją wartość, ale nic takiego tutaj nie ma. Jest przkazana jako referencja w instrukcji use, ale nie potrafię tego logicznie wytłumaczyć... Ten post edytował Fred1485 28.11.2015, 13:01:35 -------------------- |
|
|
28.11.2015, 13:33:29
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Usuń & sprzed &$count (linia 41) i zobacz jeszcze raz.
-------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 28.04.2024 - 03:43 |