Нововведения в QSP 5.8.0
Пока готовится выход нового плеера версии 5.8.0 (или выше), мы решили рассказать о грядущих нововведениях. Всё (или почти всё), что будет представлено в этой статье, вы уже можете пощупать в плеере "qSpider" от Werewolf'а.
Последние нововведения
Изменение в работе массивов
Это, пожалуй, самое основное из грядущих изменений, и о нём мы подробно писали в статье "Массивы уже не те". Здесь же изложим кратко.
Теперь в массиве будет нельзя под одним индексом хранить и текстовое и числовое значение. Если вы запишете в ячейку числовое значение, а потом запишете в ту же ячейку текстовое значение, текстовое значение затрёт числовое.
При этом, если вы попытаетесь получить из ячейки со строковым значением числовое значение, плеер вернёт значение по умолчанию, то есть 0. И наоборот: если попытаться из ячейки с числовым значением получить строковое, плеер вернёт пустую строку.
Примеры:
! версия 5.7.0
mass[1]=123
$mass[1]='string'
*pl mass[1] & ! выведет число 123
*pl $mass[1] & ! выведет строку 'string'
! версия 5.8.0 и выше
mass[1]=123
$mass[1]='string' & ! затирает числовое значение
*pl mass[1] & ! попытка доступа к числовому значению вернёт 0
*pl $mass[1] & ! выведет строку 'string'
Многомерные массивы
Чтобы организовать многомерный массив, в плеерах версии 5.7.0 (и более ранних) приходилось использовать текстовые индексы. Например:
! работает в плеерах любых версий:
$unit_coords["3,1"]="Пехотинец"
$unit_coords["2,7"]="Артилерист"
$unit_coords["10,0"]="Танк"
Но в новых версиях плеера (начиная с 5.8.0 и выше) можно не использовать текстовые индексы, а указывать несколько нужных значений через запятую:
! версия 5.8.0 и выше
$unit_coords[3,1]="Пехотинец"
$unit_coords[2,7]="Артилерист"
$unit_coords[10,0]="Танк"
Это намного упрощает работу с многомерными массивами.