RSS

Chepurnoff

17:25
Массивы в AMS


О массивах AMS в подробностях. Что такое, какие бывает, как работают. Язык Lua имеет большие возможности для работы с массивами. Структура схожа с правилами языков C# и JavaScript. Точнее это даже комбинация синтаксиса и возможностей этих языков. Все ясно и гибко.

1. Что такое массивы?

Во-первых, что же такое массивы? Массивы это переменные способные сохранять в себе несколько значений, при этом каждое значение индексируется, то есть каждому значению присваевается номер, что бы потом вызвать это значение по ниму. Массивы бывают одномерные и двухмерные. А вообще если вы ничего не знаете про массивы то лучше вам прочитать учебник информатики за 8-9 класс) Я, такие вещи,  лучше учебника объяснить врятли смогу.

2. Как устроены массивы в Autoplay Media Studio.

И так есть ли в AMS массивы? Конечно! Только называются они не массивами а таблицами ( на англицком - table) а в остальном все также как и у других. Точнее даже лучше, веть в отличии от других ЯП и движков тут мы можем в дном массиве использовать переменные разного типа. Вам ничто не помешает в массив с числами записать строковое значение и обратно. Тут есть конечно свои минусы, не просто так же в других ЯП таких массивов нет. Дело в том что такой расклад сжирает много больше памяти. Но на это помоему при современных стандартах компьютерного железа можно закрыть глаза. Правда код автоматически становится индусским)). Но не важно, для нас главное простота и удобство написания софта, для себя, а не выпендреж перед другими насчет сохранненых байт в ОЗУ. К слову, в некоторых ЯП всеже можно создавать массивы с разными типами значений, но памяти кстати в таких средах отжирается намного больше чем в AMS. Также в серьезных ЯП можно так сказать создать собственную функцию обработки переменных, особую функцию полностью заменяющую действия и пригодности массивов. Но в таком случае отжирается не только память но и производительность.

3. Применение массивов в коде AMS.

Хватит теории, давайте перейдем уже к практике. И начнем мы с того, что перестанем массивы называть массивами. Теперь массивы для нас это таблицы, договорились?
Перед преминением таблицы ее нужно объявить, в AutoplayMediaStudio это делается так:
MyTable={};--Мы объявили таблицу MyTable с неограниченным количеством переменных в ней(индексов в ней)
MyTable2={"Вася","Витя","Слава"};--Мы объявили MyTable2 таблицу с тремя строковыми переменными (индексами) в ней
MyTable3={"Вася","Витя",2,"Слава"};--А тут у нас таблица MyTable3 с тремя строковыми и одной числовой переменной
Вызов значения индекса таблицы в коде производится так:
Text = MyTable3[1]; --Мы присвоели переменной Text значение первого индекса таблицы MyTable3. 
 --Тоесть переменная Text теперь имеет строковое значение - Вася.
Text = MyTable3[3]; --Здесь мы из таблицы MyTable3 взяли уже числовое значение, --и переменная Text автоматом становится числовой со значением 2

4
. Функции движка для работы с таблицами.


$ Table.Concat(@Таблица, $Разделитель, #Откуда_начать, #Где_закончить)
Функция извлекает значения из таблицы.
Пример:
MyTable = {"Один","Два","Три","Четыре"};  --Создаем таблицу
MyString = Table.Concat(MyTable,"--",2,3); --Извлекаем в строковую переменную MyString значение
 --из таблицы, начиная со второго заканчивая третьим.
Результатом будет строковая переменная MyString со значением "Два--Три".

Если требуется считать значения с определенного места и до конца таблицы, то за место номера окончания используется -1 или константа TABLE_ALL.
Пример:
MyTable = {"Один","Два","Три","Четыре"}; --Создаем таблицу
MyString = Table.Concat(MyTable,"--",2,TABLE_ALL); --Извлекаем в строковую --переменную MyString значение из таблицы, начиная со второго и до конца таблицы
Результатом будет строковая переменная MyString со значением "Два--Три--Четыре".
# Table.Count(@Таблица)
Функция возвращает количество индексов (значений) в таблице.
Пример:
MyTable = {"Один","Два","Три","Четыре"};  --Создаем таблицу
MyNumber = Table.Count(MyTable); --Получаем количество индексов в таблице.


Категория: IndigoRose AMS | Просмотров: 1282 | Добавил: chepurnoff | Рейтинг: 4.0/2
Александр
(24.04.2010 18:39)
Хе smile

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]