Авторизация
Задай мне вопрос
Голосования
| массивы в lua |
|
| Written by xternalx | |||
| Tuesday, 27 April 2010 22:14 | |||
|
Привет! Решил написать небольшой пост про массивы в этом замечательном языке lua. Да будет тебе известно, что как таковых массивов в lua не предусмотрено, в качестве массивов принято использовать таблицы. И Использовать их ну очень удобно :) Итак, для начала давай разберемся с одномерными массивами. Одномерный массив - это набор, или список однотипных переменных, идущих друг за другом. У каждой переменной есть свой индекс, по которому можно получить значение переменной в массиве ;) Давай посмотрим как это выглядит :)
Каждая клетка в приведенной выше картинке соответствует одной переменной в массиве, а цифры под клетками - это индексы, по которым можно получить значение переменной. Не удивляйся что нумерация начинается с единицы а не с нуля. В Lua нумерация начинается с единицы. Теперь неплохо было бы показать, как можно записать массив этих значений на языке lua: Как видишь, все легко и просто. Теперь выведем на экран произвольные элементы массива Чтобы изменить значения переменных в массиве, так же используются индексы: Теперь массив array будет содержать следующую последовательность значений: И, Б, З, Г, Д, Е. Кроме числовых индексов так же можно использовать строковые индексы, такие массивы называются ассоциативными, чтобы проще понять, посмотри на код ниже: Теперь в переменной array с ключем a будет значение А: Приведенный выше код равносилен этому: Операции присваивания значений в ассоциативных массивах точно такие же, как и в случае с индексными, поэтому заострять внимания на этом не буду. Теперь ты имеешь краткое представление о том, как создаются и выглядят массивы в lua. Хорошо, когда нам нужен статический массив(т.е. мы описали его руками в скрипте, указав нужные значения его элементам), но что же делать, когда массив динамический и элементы нужно или добавлять, или удалять? на помощь приходят 2 метода из библиотеки table(помнишь, что роль массивов в lua выполняют таблицы? :)): метод table.insert() позволяет добавлять в существующий массив новые эелементы, а table.remove() - позволяет удалить любой из элементов массива теперь массив будет состоять из 7 переменных, 7-я переменная содержит в себе букву Ж. теперь массив array состоит из 5 переменных - А, В, Г, Д, Е. Получить размер(длину) массива позволяет оператор # Теперь давай распечатаем содержимое массива. В этом нам поможет метод-итератор pairs(table): результатом этого кода будет следущее:
На этом собственно, все, что нужно знать для начала работы с массивами в lua. На всякий случай рекомендую почитать описание библиотеки table. В следующей статье напишу, как можно организовать двух-трех-четырех-сколько_угодно_много_мерные массивы в lua;) Вопросы и пожелания жду в каментах :)
|
|||
| Last Updated on Sunday, 26 December 2010 00:59 |


Comments
RSS feed for comments to this post.