Piszę prosty system, ale w prostych systemach też pojawiają się ciekawe problemy.
Mianowicie system zapisuje do plików dane z formularza. Gdzieś w konfigu jest stała określająca max ilość plików - powiedzmy 5. Chcę, aby pliki miały nazwy 01, 02 .. ale nie więcej niż 05.
Aktualnie mam tak zrobione:
Metoda losuje liczbę z przedziału od 1 do max i sprawdzam czy plik z taką nazwą już istnieje. Jeśli istnieje istnieje to wywołuje siebie rekurencyjnie.
Teoretycznie metoda może wykonywać się w nieskończoność, bo za każdym wywołaniem wylosuje liczbę już zajętą.
Myślałem o czymś co zapamięta wylosowane ostatnio liczby i będzie losowało z pominięciem tych właśnie, ale jakoś mi się to nie podoba:))
Nie mogę też pobrać nazwy ostatnio utworzonego pliku albo największej liczby, bo pliki można kasować i np będą 01, 02, 03, 04, 05 i zostanie skasowany np 02. System pobierze najwyższy numer i powie, że już nie można utworzyć pliku, bo nie może mieć nazwy 06.
Macie jakiś pomysł na proste rozwiązanie, ale też takie, które nie zapętli mi skryptu?