Для начала небольшой разговор про то, что значит писать программу. Небольшой вопрос: что такое программа, ну и вообще, что, по-вашему, значит написать программу? Вот я считаю, что написать программу - значит объяснить компу, как решать какую-то задачу. Чтобы объяснить кому-то что-то, надо сначала представлять, как бы ты сам это делал. Таким образом, чтобы писать программу нужно продумать последовательность своих действий(алгоритм), а потом уже что-то программировать. Для описания своего алгоритма часто требуется хранить что-то во время работы. Для этого существует такое понятие как переменная. Переменная - это некоторая область памяти в компьютере, которая имеет имя и значение, которое в ней хранится. В lua переменную объявить очень легко. Вот так: Код: имя переменной = значение Например: Код: a=10 При этом будет создана переменная с именем a, и значением 10 Переменные были бы бесполезными, если бы нельзя было бы узнать, что в ней находится. Поэтому имя переменной может участвовать в любых выражениях, к примеру математических: Например: Код: a=10 b=a+40 b теперь будет равна 50. Вы наверно щас задаётесь вопросом: "где это попробовать??". Объясняю. Любой код, который я тут привожу для примеров надо написать в SciTE, сохранить как lua файл, а потом запустить нажатием F5 или другими способами(смотри урок 2). Внизу в консольке будет написано, что выводит программа. Под "выводит программа" понимается вызов функции print: Код: a=10 print(a) b=a+40 print(b) print - это функция(это понятие вы поймёте позже, сейчас запомните, что в функцию в скобки можно подставлять параметры, и она что-то с ними сделает), которая выводит на экран значение того, что в неё передали. В нашем примере на экран выведено: 10 50 Итак с переменными более или менее ясно. Важно сказать, что у переменных кроме имени и значения есть ещё и тип. В lua 8 типов данных: nil (неопределенный) boolean (логический) number (числовой) string (строковый) function (функция) userdata (пользовательские данные) thread (поток) table (таблица)
расскажи еще про различия локальных и глобальных. их доступность вне функций и т.п. а так весьма годно плюс, если не ошибаюсь, все эти типы данных были сделаны для экономии памяти, которая отводится на выполнение действий с переменной, т.е. число кодируется, например, одним байтом, строка - четырьмя и т.п. если так, об этом тоже неплохо было бы написать.