Nie mogę użyć typu set
jako wskaźnika rozmiaru tablicy, jednak w przypadku małych zestawów jest to całkowicie sensowne.Czy mogę użyć typu zestawu jako indeksu tablicy?
Załóżmy, że mam następujący kod:
TFutureCoreSet = set of 0..15;
TLookupTable = record
FData: array[TFutureCoreSet] of TSomeRecord; //error ordinal type required
....
Poniższy kod kompiluje i działa.
TFutureCoreSet = set of 0..15;
TLookupTable = record
FData: array[word] of TSomeRecord;
To jednak zrywa związek pomiędzy dozwolonej liczby państw w TFutureCoreSet
i elementy w tabeli.
Czy istnieje prosty sposób na połączenie tych dwóch elementów, aby zmienić także inne aktualizacje?
Jak zindeksować taką tablicę? 'FData [[1, 2, 4]]: = SomeRecord'? Pomyśl o wszystkich kombinacjach podczas uzyskiwania dostępu do takiej tablicy .. – Victoria
@Victoria, Zestaw ma 16 bitów, więc tablica będzie miała 64k elementów. Po prostu użyj wartości porządkowej zestawu jako wartości odnośnika. Nic skomplikowanego. Do 20 bitów doskonale nadaje się do użytku z wyglądem. Z 'zestawem bajtów', który oczywiście nie zadziała :-) – Johan