Добавлен , не публикуется

Руководство пользователя

Содержание:
  • Можно изменить поле, используемое для хранения тегов категорий, для этого необходимо внести изменения в файл alias.txt, указав для синонима info новое значение. При этом важно помнить что один синоним не должен перекрывать несколько полей одного объекта.
  • К тегам категорий можно добавить только один параметр для хранения метаданных, но с введением парсинга строк, содержащих запятые, можно перечислить в качестве параметра несколько значений через запятую(без пробелов), тогда можно будет получить отдельные значения с помощью конструкции объект.поле[номер], где номер это порядковый номер, начинающийся с 0.
  • К строковым полям объектов можно применять директиву <list>, что позволяет перечислить все элементы строки, разделенные запятыми.
  • Можно задавать собственные шаблонные переменные и изменять их значения с помощью директивы <assign>.
подробнее
<assign x = 0>
<assign x = x+1>
Это может быть полезно, например, в конструкции вида:
<assign i = 0>
<list units as u>
   myArray[${i}] = u
   <assign i = i+1>
</list>
В результате компиляции шаблона получим код, заполняющий массив типами юнитов.
пример для большого количества типов юнитов (< 8192)
<assign max = 100>
<assign i = 0>
<assign j = 0>
function init_units_${j} takes nothing returns nothing
<list units as u>
   <if (i > 0) && (i %% max = 0)>
   <assign j = j+1>
endfunction
function init_units_${j} takes nothing returns nothing
   </if>
   myArray[${i}] = u
   <assign i = i+1>
</list>
endfunction

function init_units takes nothing returns nothing
<list 0..j as k>
   ExecuteFunc("init_units_${j}")
</list>
endfunction
Этот код сгенерирует столько функций вида init_units_x чтобы в каждой из них было не больше чем 100 присвоений, также будет сгенерирована функция init_units, содержащая вызовы всех этих функций через ExecuteFunc.
  • шаблонные переменные могут быть не только скалярными величинами и объектами, но и массивами. Для работы с массивами, как и со скалярными величинами используется директива <assign>, а с помощью директивы <list> можно перебрать все элементы такого массива.
подробнее
<assign x = ["1","2","3","4",]>
<assign x = x + ["4","5","6"]>
<list x as i>
   ${i}
</list>
  • для всех шаблонных переменных, включая те что содержат данные по объектам, доступны специальные встроенные функции.
подробнее
Обращение к таким функциям выполняется через добавление ? и имени функции после имени переменной.
Например так:
<assign x = ["1","2","3","b"]>
${x?size}
Получим количество элементов в массиве, а именно число 4
Для строк
Функцияописание
lengthвозвращает длину строки
lower_caseвозвращает строку в нижнем регистре
upper_caseвозвращает строку в верхнем регистре
capitalizeвозвращает строку, в которой все слова написаны с заглавной буквы
trimвозвращает строку без пробелов в начале и конце
numberвозвращает числовое значение строки
word_listвозвращает массив строк, состоящий из разделенных пробелами слов в исходной строке
Для чисел
Функцияописание
byteпреобразование к byte (Java)
shortпреобразование к short (Java)
intпреобразование к int (Java)
longпреобразование к long (Java)
floatпреобразование к float (Java)
doubleпреобразование к double (Java)
stringпреобразование числа к строке
Для массивов
Функцияописание
sizeвозвращает количество элементов в массиве
firstвозвращает нулевой элемент массива
lastвозвращает последний элемент массива
reverseвозвращает массив с элементами расположенными в обратном порядке

Содержание
`
ОЖИДАНИЕ РЕКЛАМЫ...