Ilość wartości enuma
Najlepsza odpowiedź Rivit 28.07.2019 09:27
#include <amxmodx> #define stepSize 2 enum _:someName (+= stepSize) { someValue, someOtherValue, biggerValue }; public plugin_init(){ log_amx("%i | %i", someName/stepSize, someName) }
someName będzie ilością elementów, a jak masz stepsize inny to trzeba podzielić.
Czyli log powinien dać 3 | 6
Przejdź do postu
Robiin
27.07.2019
Można jakoś wykryć ilośc wartości, jaką przechowuje enum?
Wiem, że w pythonie mogę użyć metody len a w C# użyć Count z pomocą wielu innych metod.
Poradziłem sobie z samym wyliczaniem ilości elementów, ale zastanawiam się czy jest jakaś wbudowana funkcja albo inny sposób (najlepiej bez dodawania kolejnego elementu).
Na ten moment przychodzi mi na myśl tylko tworzenie dodatkowego elementu i obliczanie wartości:
#define stepSize 1 enum _:someName (+= stepSize) { someValue, someOtherValue, biggerValue, lastElementOfEnumerator }; log_amx("Enum's highest value: %i (items count: %i)", lastElementOfEnumerator - stepSize, floatround(float((lastElementOfEnumerator - stepSize) / stepSize)));
Rivit
27.07.2019
enum _:g_iStartDay { DAY_NONE, DAY_GRAVITY, DAY_FREEDAY, DAY_ZOMBIE, DAY_LAVA, DAY_SHARK }; new const g_iStartDayNames[g_iStartDay][] = { "", "JB_DAYNAME_GRAVITY", "JB_DAYNAME_FREEDAY", "JB_DAYNAME_ZOMBIE", "JB_DAYNAME_LAVA", "JB_DAYNAME_SHARK" };
Chyba, że coś źle rozumiem to o co pytasz.
Czy u Ciebie wartością będzie: someName ?
Użytkownik TibacK edytował ten post 27.07.2019 22:52
Robiin
27.07.2019
Chcę wiedzieć ile elementów ma enum
W przypadku pierwszego posta będzie to 4.
Najlepsza odpowiedź
Rivit
28.07.2019
#include <amxmodx> #define stepSize 2 enum _:someName (+= stepSize) { someValue, someOtherValue, biggerValue }; public plugin_init(){ log_amx("%i | %i", someName/stepSize, someName) }
someName będzie ilością elementów, a jak masz stepsize inny to trzeba podzielić.
Czyli log powinien dać 3 | 6
Użytkownik TibacK edytował ten post 28.07.2019 09:27