Всем привет, возникла необходимость выбирать рандомно свободный итератор в foreach.. Никто не подскажет как?
Вид для печати
Всем привет, возникла необходимость выбирать рандомно свободный итератор в foreach.. Никто не подскажет как?
Итераторы в Pawn (раздел "Документация и использование итераторов" -> Iter_Random)
Незанятые ячейки будут больше размера итератора. Это указано в статье.
UPD (примерная реализиация):
PHP код:
#define Iter_RandomAll(%1) Iter_RandomAllInternal(_Y_ITER_ARRAY:%1@YSII_Ag,_Y_ITER_ARRAY_SIZE(%1))
stock Iter_RandomAllInternal(array[], size)
{
new rnd = random(size);
return array[rnd] - size - 1;
}
Здравствуйте! Хотел бы точнее узнать о тернарном операторе.
Тернарная условная операция используется в выражениях для получения одного из двух вариантов в зависимости от условия.
Допустим:
PHP код:
Player[playerid][Gender] = listitem;
Правильна уловлена суть применения?PHP код:
SetPlayerSkin(playerid, (Player[playerid][Gender] == 0) ? skin_male[switch_skinID[playerid]] : skin_female[switch_skinID[playerid]]);
Слышал еще то что тернарный оператор не работает с sizeof?
Там вроде только со строками проблемы (ошибки или варнинги) на стандартном компиляторе, если юзать их без скобок, насколько помню, типо:
PHP код:
new a[32] = (GetPlayerState(playerid) == 9 ? "Игрок в режиме наблюдения" : "Игрок не в режиме наблюдения"); //В таком случае каждую строку что в "" нужно поставить внутри скобок
С многомерными массивами тоже проблемы есть