0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<ul><li><a>Язык программирования - это…</a></li>
1
<ul><li><a>Язык программирования - это…</a></li>
2
<li><a>LUA - что это такое</a><ul><li><a>Немного истории</a></li>
2
<li><a>LUA - что это такое</a><ul><li><a>Немного истории</a></li>
3
<li><a>Преимущества и недостатки</a><ul><li><a>О сильных сторонах</a></li>
3
<li><a>Преимущества и недостатки</a><ul><li><a>О сильных сторонах</a></li>
4
<li><a>О слабых сторонах</a></li>
4
<li><a>О слабых сторонах</a></li>
5
</ul></li>
5
</ul></li>
6
</ul></li>
6
</ul></li>
7
<li><a>Перспективы</a><ul><li><a>Как можно использовать</a></li>
7
<li><a>Перспективы</a><ul><li><a>Как можно использовать</a></li>
8
</ul></li>
8
</ul></li>
9
<li><a>Окружающая среда</a><ul><li><a>Локальная</a><ul><li><a>Редактор текста</a></li>
9
<li><a>Окружающая среда</a><ul><li><a>Локальная</a><ul><li><a>Редактор текста</a></li>
10
<li><a>Немного об интерпретаторе</a></li>
10
<li><a>Немного об интерпретаторе</a></li>
11
<li><a>А что там с компиляторами</a><ul><li><a>Для Windows</a></li>
11
<li><a>А что там с компиляторами</a><ul><li><a>Для Windows</a></li>
12
<li><a>Для Linux</a></li>
12
<li><a>Для Linux</a></li>
13
<li><a>Для MacOS</a></li>
13
<li><a>Для MacOS</a></li>
14
<li><a>IDE</a></li>
14
<li><a>IDE</a></li>
15
<li><a>Без установки</a></li>
15
<li><a>Без установки</a></li>
16
</ul></li>
16
</ul></li>
17
</ul></li>
17
</ul></li>
18
</ul></li>
18
</ul></li>
19
<li><a>Синтаксис</a></li>
19
<li><a>Синтаксис</a></li>
20
<li><a>Лексика</a></li>
20
<li><a>Лексика</a></li>
21
<li><a>Типы данных</a></li>
21
<li><a>Типы данных</a></li>
22
<li><a>Присваивание</a></li>
22
<li><a>Присваивание</a></li>
23
<li><a>Табличные дела</a><ul><li><a>Метатаблицы</a></li>
23
<li><a>Табличные дела</a><ul><li><a>Метатаблицы</a></li>
24
</ul></li>
24
</ul></li>
25
<li><a>Особенности реализации</a><ul><li><a>Если есть ошибки</a></li>
25
<li><a>Особенности реализации</a><ul><li><a>Если есть ошибки</a></li>
26
</ul></li>
26
</ul></li>
27
<li><a>Как получить образование и лучше разбираться в ЯП</a></li>
27
<li><a>Как получить образование и лучше разбираться в ЯП</a></li>
28
</ul><p>Программирование предусматривает разнообразные языки. Все они в той или иной степени имеют преимущества и недостатки, используются для конкретных целей. Многие слышали о<strong>LUA</strong>. Эта статья как раз и будет посвящена этому языку программирования.</p>
28
</ul><p>Программирование предусматривает разнообразные языки. Все они в той или иной степени имеют преимущества и недостатки, используются для конкретных целей. Многие слышали о<strong>LUA</strong>. Эта статья как раз и будет посвящена этому языку программирования.</p>
29
<h2>Язык программирования - это…</h2>
29
<h2>Язык программирования - это…</h2>
30
<p>Язык программирования - некий перечень формальных правил и принципов, используемых при написании контентна. Общий язык помогает коммуникации людей, а упомянутый термин относится к устройствам и программному обеспечению.</p>
30
<p>Язык программирования - некий перечень формальных правил и принципов, используемых при написании контентна. Общий язык помогает коммуникации людей, а упомянутый термин относится к устройствам и программному обеспечению.</p>
31
<p>Язык программирования - способ "общения":</p>
31
<p>Язык программирования - способ "общения":</p>
32
<ul><li>пользователя с компьютером;</li>
32
<ul><li>пользователя с компьютером;</li>
33
<li>устройств друг с другом;</li>
33
<li>устройств друг с другом;</li>
34
<li>программного обеспечения между собой;</li>
34
<li>программного обеспечения между собой;</li>
35
<li>устройств с утилитами.</li>
35
<li>устройств с утилитами.</li>
36
</ul><p>В зависимости от выбранного варианта можно весьма легко создавать программы, приложения, игры и даже писать веб-страницы.</p>
36
</ul><p>В зависимости от выбранного варианта можно весьма легко создавать программы, приложения, игры и даже писать веб-страницы.</p>
37
<p>Луа - язык программирования, в основе которого лежат<a>скрипты</a>. Называется скриптовым. Используется для того, чтобы создавать бизнес-логику утилит.</p>
37
<p>Луа - язык программирования, в основе которого лежат<a>скрипты</a>. Называется скриптовым. Используется для того, чтобы создавать бизнес-логику утилит.</p>
38
<p>Относится к мультипарадигменным. Lua обладает неплохой поддержкой декларативного стиля создания программного обеспечения. Написан на C. Язык был представлен миру в 1993 году в качестве самостоятельной разработки.</p>
38
<p>Относится к мультипарадигменным. Lua обладает неплохой поддержкой декларативного стиля создания программного обеспечения. Написан на C. Язык был представлен миру в 1993 году в качестве самостоятельной разработки.</p>
39
<h3>Немного истории</h3>
39
<h3>Немного истории</h3>
40
<p>LUA изначально разработан Роберто Иерусалимши, Вальдемаром Селесом и Луисом Энрике. Изначально "средство" было представлено программным обеспечением, интегрируемым кодификациями на C и иных "традиционных" языках. За счет этого разработчики могли значительно ускорить процесс создания собственных утилит.</p>
40
<p>LUA изначально разработан Роберто Иерусалимши, Вальдемаром Селесом и Луисом Энрике. Изначально "средство" было представлено программным обеспечением, интегрируемым кодификациями на C и иных "традиционных" языках. За счет этого разработчики могли значительно ускорить процесс создания собственных утилит.</p>
41
<p>Прародителями LUA считаются SOL и DEL. С самых первых дней обладал открытый исходный код. Это значит, что в развитии оного имеет право поучаствовать каждый желающий. Выделился тем, что основан в Бразилии, которая на рынке IT-разработок практически не фигурировала.</p>
41
<p>Прародителями LUA считаются SOL и DEL. С самых первых дней обладал открытый исходный код. Это значит, что в развитии оного имеет право поучаствовать каждый желающий. Выделился тем, что основан в Бразилии, которая на рынке IT-разработок практически не фигурировала.</p>
42
<p>Текущая версия языка - 5.4.0. Вышло во второй половине 2020 года. Активно используется в IT-областях и бизнесе.</p>
42
<p>Текущая версия языка - 5.4.0. Вышло во второй половине 2020 года. Активно используется в IT-областях и бизнесе.</p>
43
<h3>Преимущества и недостатки</h3>
43
<h3>Преимущества и недостатки</h3>
44
<p>У языка LUA есть сильные и слабые стороны. Изучить оные необходимо перед тем, как приступать к обучению соответствующему способу "общения" с ПО и устройствами.</p>
44
<p>У языка LUA есть сильные и слабые стороны. Изучить оные необходимо перед тем, как приступать к обучению соответствующему способу "общения" с ПО и устройствами.</p>
45
<h4>О сильных сторонах</h4>
45
<h4>О сильных сторонах</h4>
46
<p>Плюсы LUA:</p>
46
<p>Плюсы LUA:</p>
47
<ol><li>Портатируемость. Утилиты, написанные на Луа, неплохо переносятся с Windows на Linux и другие операционные системы.</li>
47
<ol><li>Портатируемость. Утилиты, написанные на Луа, неплохо переносятся с Windows на Linux и другие операционные системы.</li>
48
<li>Количество библиотек. Их очень много. Большинство представлены на официальном сайте LUA. Предлагаемые библиотеки подходят для решения основной массы задач, стоящих перед пользователями.</li>
48
<li>Количество библиотек. Их очень много. Большинство представлены на официальном сайте LUA. Предлагаемые библиотеки подходят для решения основной массы задач, стоящих перед пользователями.</li>
49
<li>Право на добавление собственных библиотек. Достигается за счет открытого исходного кода. Добавляемые библиотеки должны быть разработаны на C.</li>
49
<li>Право на добавление собственных библиотек. Достигается за счет открытого исходного кода. Добавляемые библиотеки должны быть разработаны на C.</li>
50
<li>Синтаксис. LUA - простой язык, который читается без каких-либо проблем. Осваивается быстро даже новичками в IT-области.</li>
50
<li>Синтаксис. LUA - простой язык, который читается без каких-либо проблем. Осваивается быстро даже новичками в IT-области.</li>
51
<li>Адаптивность. Программное обеспечение, написанное на Луа, занимает меньше памяти на задействованных устройствах.</li>
51
<li>Адаптивность. Программное обеспечение, написанное на Луа, занимает меньше памяти на задействованных устройствах.</li>
52
</ol><p>Это - компактный мультиплатформенный язык, который легко "настроить под себя".</p>
52
</ol><p>Это - компактный мультиплатформенный язык, который легко "настроить под себя".</p>
53
<h4>О слабых сторонах</h4>
53
<h4>О слабых сторонах</h4>
54
<p>Но, как и любой другой язык, LUA имеет некоторые изъяны:</p>
54
<p>Но, как и любой другой язык, LUA имеет некоторые изъяны:</p>
55
<ol><li>Выступает в качестве скриптового. Это значит, что часто применяется совместно с другими языками.</li>
55
<ol><li>Выступает в качестве скриптового. Это значит, что часто применяется совместно с другими языками.</li>
56
<li>Для полноценного применения разработчику необходимо знать дополнительно 2-3 programming languages.</li>
56
<li>Для полноценного применения разработчику необходимо знать дополнительно 2-3 programming languages.</li>
57
<li>Не всегда быстро работает.</li>
57
<li>Не всегда быстро работает.</li>
58
</ol><p>Профессионалы раньше считали, что данный вариант подходит лишь для мелких проектов. Частично данное заверение правильно. Связано это с тем, что LUA относится к модульным языкам. Но посредством их сочетания нередко удается добиться колоссальных результатов.</p>
58
</ol><p>Профессионалы раньше считали, что данный вариант подходит лишь для мелких проектов. Частично данное заверение правильно. Связано это с тем, что LUA относится к модульным языкам. Но посредством их сочетания нередко удается добиться колоссальных результатов.</p>
59
<h2>Перспективы</h2>
59
<h2>Перспективы</h2>
60
<p>Сейчас на передовой линии находится разработка игр. Луа для этих целей - не лучшее решение. Индекс Tiobe показывает, что данный вариант находится на позиции под номером 30.</p>
60
<p>Сейчас на передовой линии находится разработка игр. Луа для этих целей - не лучшее решение. Индекс Tiobe показывает, что данный вариант находится на позиции под номером 30.</p>
61
<p>Соответствующее явление связано с тем, что language обычно применяется в сочетании с другими "способами общения" и создания ПО. Луа задействуют преимущественно для того, чтобы решать отдельные задачи. Только через него создать хорошую игру не получится.</p>
61
<p>Соответствующее явление связано с тем, что language обычно применяется в сочетании с другими "способами общения" и создания ПО. Луа задействуют преимущественно для того, чтобы решать отдельные задачи. Только через него создать хорошую игру не получится.</p>
62
<p>При трудоустройстве LUA-разработчики нередко сталкиваются с проблемами. Лишь некоторые компании действительно набирают таких работников. В подобных местах возможна конкуренция.</p>
62
<p>При трудоустройстве LUA-разработчики нередко сталкиваются с проблемами. Лишь некоторые компании действительно набирают таких работников. В подобных местах возможна конкуренция.</p>
63
<p>В качестве основного LUA использовать не рекомендуется. Он может быть изучен в виде дополнительного, на первых порах осваивания программирования. Особенно, если хочется заниматься игровой разработкой.</p>
63
<p>В качестве основного LUA использовать не рекомендуется. Он может быть изучен в виде дополнительного, на первых порах осваивания программирования. Особенно, если хочется заниматься игровой разработкой.</p>
64
<h3>Как можно использовать</h3>
64
<h3>Как можно использовать</h3>
65
<p>Вот несколько направлений, в которых иногда пригодится Луа:</p>
65
<p>Вот несколько направлений, в которых иногда пригодится Луа:</p>
66
<ul><li>разработка игрового контента;</li>
66
<ul><li>разработка игрового контента;</li>
67
<li>создание сценариев для автономного программного обеспечения;</li>
67
<li>создание сценариев для автономного программного обеспечения;</li>
68
<li>интернет-сценарии;</li>
68
<li>интернет-сценарии;</li>
69
<li>расширения и дополнительных софт БД;</li>
69
<li>расширения и дополнительных софт БД;</li>
70
<li>создание систем безопасности.</li>
70
<li>создание систем безопасности.</li>
71
</ul><p>Разработка обычно требует применения одного или нескольких иных языков программирования. Иначе контент окажется не слишком функциональным.</p>
71
</ul><p>Разработка обычно требует применения одного или нескольких иных языков программирования. Иначе контент окажется не слишком функциональным.</p>
72
<h2>Окружающая среда</h2>
72
<h2>Окружающая среда</h2>
73
<p>Весь процесс написания исходного кода осуществляется в разнообразных средах. Этому моменту требуется уделить должное внимание, иначе наладить работу не получится.</p>
73
<p>Весь процесс написания исходного кода осуществляется в разнообразных средах. Этому моменту требуется уделить должное внимание, иначе наладить работу не получится.</p>
74
<h3>Локальная</h3>
74
<h3>Локальная</h3>
75
<p>Чтобы провести настройку локальной среды, требуется обеспечить наличие на задействованном устройстве:</p>
75
<p>Чтобы провести настройку локальной среды, требуется обеспечить наличие на задействованном устройстве:</p>
76
<ul><li>текстового редактора;</li>
76
<ul><li>текстового редактора;</li>
77
<li>компилятор;</li>
77
<li>компилятор;</li>
78
<li>интерпретатор.</li>
78
<li>интерпретатор.</li>
79
</ul><p>Далее все перечисленные компоненты будут рассмотрены более подробно. Информация предназначена преимущественно для новичков.</p>
79
</ul><p>Далее все перечисленные компоненты будут рассмотрены более подробно. Информация предназначена преимущественно для новичков.</p>
80
<h4>Редактор текста</h4>
80
<h4>Редактор текста</h4>
81
<p>Он требуется для того, чтобы осуществлять запись программного кода утилиты. Воспользоваться можно любым известным текстовым редактором. Примеры:</p>
81
<p>Он требуется для того, чтобы осуществлять запись программного кода утилиты. Воспользоваться можно любым известным текстовым редактором. Примеры:</p>
82
<ul><li>"Блокнот" в Windows;</li>
82
<ul><li>"Блокнот" в Windows;</li>
83
<li>команда "Редактирование операционной системы";</li>
83
<li>команда "Редактирование операционной системы";</li>
84
<li>VIM;</li>
84
<li>VIM;</li>
85
<li>Epsilon.</li>
85
<li>Epsilon.</li>
86
</ul><p>Версия и имя редактора способны отличаться друг от друга в зависимости от операционной системы.</p>
86
</ul><p>Версия и имя редактора способны отличаться друг от друга в зависимости от операционной системы.</p>
87
<p>Создаваемые здесь документы - исходные файлы, содержащие непосредственный код приложения. Для рассматриваемого "способа общения" актуально расширение .lua.</p>
87
<p>Создаваемые здесь документы - исходные файлы, содержащие непосредственный код приложения. Для рассматриваемого "способа общения" актуально расширение .lua.</p>
88
<h4>Немного об интерпретаторе</h4>
88
<h4>Немного об интерпретаторе</h4>
89
<p>Интерпретатор - программное обеспечение небольшого размера, которое позволит набирать команды Lua и сразу же выполнять. Помогает останавливать выполнение файла при обнаружении ошибок.</p>
89
<p>Интерпретатор - программное обеспечение небольшого размера, которое позволит набирать команды Lua и сразу же выполнять. Помогает останавливать выполнение файла при обнаружении ошибок.</p>
90
<p>Подойдет любой доступный интерпретатор Луа.</p>
90
<p>Подойдет любой доступный интерпретатор Луа.</p>
91
<h4>А что там с компиляторами</h4>
91
<h4>А что там с компиляторами</h4>
92
<p>Компилятор - специализированное программное обеспечение. Его знают все программисты и разработчики. Так называются утилиты, которые обрабатывают исходный код и преобразовывают его в машинный.</p>
92
<p>Компилятор - специализированное программное обеспечение. Его знают все программисты и разработчики. Так называются утилиты, которые обрабатывают исходный код и преобразовывают его в машинный.</p>
93
<p>Компиляция позволяет исполнить имеющуюся кодификацию, проверить ее работоспособность и наличие ошибок. Для работы с Луа и его дальнейшим внедрением в другой язык программирования потребуется компилятор, совместимый с интерфейсами оных.</p>
93
<p>Компиляция позволяет исполнить имеющуюся кодификацию, проверить ее работоспособность и наличие ошибок. Для работы с Луа и его дальнейшим внедрением в другой язык программирования потребуется компилятор, совместимый с интерфейсами оных.</p>
94
<h5>Для Windows</h5>
94
<h5>Для Windows</h5>
95
<p>Для того, чтобы работать с Луа в Windows, был создан специальный компилятор - SciTE. Чтобы его "поставить" в Виндовс, потребуется выполнить следующие манипуляции:</p>
95
<p>Для того, чтобы работать с Луа в Windows, был создан специальный компилятор - SciTE. Чтобы его "поставить" в Виндовс, потребуется выполнить следующие манипуляции:</p>
96
<ol><li>Открыть официальный сайт SciTE.</li>
96
<ol><li>Открыть официальный сайт SciTE.</li>
97
<li>Переключиться в раздел загрузки.</li>
97
<li>Переключиться в раздел загрузки.</li>
98
<li>Выбрать желаемый файл и его версию.</li>
98
<li>Выбрать желаемый файл и его версию.</li>
99
<li>Дождаться завершения операции.</li>
99
<li>Дождаться завершения операции.</li>
100
<li>Активировать исполняемый файл.</li>
100
<li>Активировать исполняемый файл.</li>
101
<li>Завершить манипуляции, следуя подсказкам на экране.</li>
101
<li>Завершить манипуляции, следуя подсказкам на экране.</li>
102
</ol><p>В ходе описанных действий пользователь получит LUA IDE. Действия можно проводить через командную строчку. Тогда предварительно осуществляется инициализация MinGW. Там происходит компиляция и установка для Windows.</p>
102
</ol><p>В ходе описанных действий пользователь получит LUA IDE. Действия можно проводить через командную строчку. Тогда предварительно осуществляется инициализация MinGW. Там происходит компиляция и установка для Windows.</p>
103
<h5>Для Linux</h5>
103
<h5>Для Linux</h5>
104
<p>Linux - операционная система, которая стала пользоваться в последние годы определенным спросом. Хороший бесплатный конкурент коммерческим операционным системам. Но работать с ней "рядовому" пользователю бывает трудно.</p>
104
<p>Linux - операционная система, которая стала пользоваться в последние годы определенным спросом. Хороший бесплатный конкурент коммерческим операционным системам. Но работать с ней "рядовому" пользователю бывает трудно.</p>
105
<p>Для сбора LUA потребуется открыть командную строку Линукс и выполнить следующую кодификацию:</p>
105
<p>Для сбора LUA потребуется открыть командную строку Линукс и выполнить следующую кодификацию:</p>
106
<p>Теперь все готово к полноценной работе. Но это еще не все, о чем рекомендуется знать каждому разработчику.</p>
106
<p>Теперь все готово к полноценной работе. Но это еще не все, о чем рекомендуется знать каждому разработчику.</p>
107
<h5>Для MacOS</h5>
107
<h5>Для MacOS</h5>
108
<p>У компании Apple есть собственная компьютерная операционная система, которая имеет ряд особенностей. Но в ней тоже можно программировать на различных языках. Главное грамотно осуществить подготовку.</p>
108
<p>У компании Apple есть собственная компьютерная операционная система, которая имеет ряд особенностей. Но в ней тоже можно программировать на различных языках. Главное грамотно осуществить подготовку.</p>
109
<p>Компилятор Луа здесь собирается при помощи команды такого типа:</p>
109
<p>Компилятор Луа здесь собирается при помощи команды такого типа:</p>
110
<p>Последняя строчка не является обязательной. Пользователь при помощи нее сможет провести тестирование "среды".</p>
110
<p>Последняя строчка не является обязательной. Пользователь при помощи нее сможет провести тестирование "среды".</p>
111
<h5>IDE</h5>
111
<h5>IDE</h5>
112
<p>Для Windows SciTE IDE Lua является IDE изначально предусмотренной разработчиками "способа общения". Для других платформ можно использовать альтернативное программное обеспечение от ZeroBrane Studio.</p>
112
<p>Для Windows SciTE IDE Lua является IDE изначально предусмотренной разработчиками "способа общения". Для других платформ можно использовать альтернативное программное обеспечение от ZeroBrane Studio.</p>
113
<h5>Без установки</h5>
113
<h5>Без установки</h5>
114
<p>Изучение рассматриваемого варианта создания контента - это рассмотрение основных его особенностей и функций. Компилятор здесь стоит далеко не на самом последнем месте.</p>
114
<p>Изучение рассматриваемого варианта создания контента - это рассмотрение основных его особенностей и функций. Компилятор здесь стоит далеко не на самом последнем месте.</p>
115
<p>Если требуется проверить работу небольшой программы, можно не задумываться над установкой компилятора. Подобное ПО находится в свободном доступе в Сети.</p>
115
<p>Если требуется проверить работу небольшой программы, можно не задумываться над установкой компилятора. Подобное ПО находится в свободном доступе в Сети.</p>
116
<p>Пример -<a>этот</a>и<a>этот</a>сайты. Здесь можно программировать и проверять имеющиеся кодификации в режиме реального времени. Отличительной чертой такого подхода является его компактность и кроссплатформенность.</p>
116
<p>Пример -<a>этот</a>и<a>этот</a>сайты. Здесь можно программировать и проверять имеющиеся кодификации в режиме реального времени. Отличительной чертой такого подхода является его компактность и кроссплатформенность.</p>
117
<h2>Синтаксис</h2>
117
<h2>Синтаксис</h2>
118
<p>Для того, чтобы программировать на LUA, важно изучить его синтаксис. Возможна работа в нескольких режимах:</p>
118
<p>Для того, чтобы программировать на LUA, важно изучить его синтаксис. Возможна работа в нескольких режимах:</p>
119
<ul><li>интерактивном;</li>
119
<ul><li>интерактивном;</li>
120
<li>по умолчанию.</li>
120
<li>по умолчанию.</li>
121
</ul><p>Записывать текст допустимо в свободном формате. Команды предусматривают разделение пробелом. Иногда для реализации поставленной задачи ставят точку с запятой (символ).</p>
121
</ul><p>Записывать текст допустимо в свободном формате. Команды предусматривают разделение пробелом. Иногда для реализации поставленной задачи ставят точку с запятой (символ).</p>
122
<h2>Лексика</h2>
122
<h2>Лексика</h2>
123
<p>Обучение рассматриваемому языку программирования не доставит существенных хлопот ни новичкам, ни опытным разработчикам. Связано это с тем, что его авторы постарались сделать свое детище универсальным.</p>
123
<p>Обучение рассматриваемому языку программирования не доставит существенных хлопот ни новичкам, ни опытным разработчикам. Связано это с тем, что его авторы постарались сделать свое детище универсальным.</p>
124
<p>Рассматривая лексику, стоит запомнить следующие данные:</p>
124
<p>Рассматривая лексику, стоит запомнить следующие данные:</p>
125
<ol><li>Основной алфавит - это английский язык. Люди, хорошо его знающие, быстрее остальных разберутся в командах.</li>
125
<ol><li>Основной алфавит - это английский язык. Люди, хорошо его знающие, быстрее остальных разберутся в командах.</li>
126
<li>Строковые литералы могут использовать символы из иных ЯП.</li>
126
<li>Строковые литералы могут использовать символы из иных ЯП.</li>
127
<li>Идентификаторы включают в себя: буквы, цифры, подчеркивание. Не могут начинаться с цифр.</li>
127
<li>Идентификаторы включают в себя: буквы, цифры, подчеркивание. Не могут начинаться с цифр.</li>
128
<li>Нельзя в качестве идентификатора использовать вариант ключевого слова.</li>
128
<li>Нельзя в качестве идентификатора использовать вариант ключевого слова.</li>
129
<li>Программеры рекомендуют отказаться от идентификаторов, начинающихся с подчеркивания.</li>
129
<li>Программеры рекомендуют отказаться от идентификаторов, начинающихся с подчеркивания.</li>
130
</ol><p>Последний момент обоснован тем, что подобные "нестандартные" символы применяются на практике для системных задач.</p>
130
</ol><p>Последний момент обоснован тем, что подобные "нестандартные" символы применяются на практике для системных задач.</p>
131
<p>Выше приведены слова, которые не применяются в процессе присваивания имен.</p>
131
<p>Выше приведены слова, которые не применяются в процессе присваивания имен.</p>
132
<h2>Типы данных</h2>
132
<h2>Типы данных</h2>
133
<p>Язык, который мы изучаем - вариант с неявным динамическим обозначением типов информации. Переменная будет содержать значение того или иного вида. Значение выступает в роли аргумента, если осуществляется вызов функции. После этого оные отправляются на исходные позиции в виде результата.</p>
133
<p>Язык, который мы изучаем - вариант с неявным динамическим обозначением типов информации. Переменная будет содержать значение того или иного вида. Значение выступает в роли аргумента, если осуществляется вызов функции. После этого оные отправляются на исходные позиции в виде результата.</p>
134
<p>Предусматриваются следующие типы данных:</p>
134
<p>Предусматриваются следующие типы данных:</p>
135
<ol><li>Булево. Boolean. Это - истина и ложь.</li>
135
<ol><li>Булево. Boolean. Это - истина и ложь.</li>
136
<li>Nil - постой элемент. Указывает на отсутствие пригодного значения.</li>
136
<li>Nil - постой элемент. Указывает на отсутствие пригодного значения.</li>
137
<li>Число. Number. Это тип данных, представленный теми или иными числами. В основном вещественными.</li>
137
<li>Число. Number. Это тип данных, представленный теми или иными числами. В основном вещественными.</li>
138
<li>Строка - string. Используется для того, чтобы описать символьные массивы. Преимущественно применяются 8-битные символы. Строки являются константами - они не меняются ни при каких обстоятельствах. Функции - полноправные объекты, позволяющие присваивать и передавать в параметрах интересующую информацию.</li>
138
<li>Строка - string. Используется для того, чтобы описать символьные массивы. Преимущественно применяются 8-битные символы. Строки являются константами - они не меняются ни при каких обстоятельствах. Функции - полноправные объекты, позволяющие присваивать и передавать в параметрах интересующую информацию.</li>
139
<li>Thread. Тип, предусматривающий сопрограммы.</li>
139
<li>Thread. Тип, предусматривающий сопрограммы.</li>
140
<li>Userdata. Требуется для получения внешних сведений, полученных из других programming language.</li>
140
<li>Userdata. Требуется для получения внешних сведений, полученных из других programming language.</li>
141
</ol><p>Углубленное изучение можно провести позже. В качестве "базы" предложенные сведения являются достаточными.</p>
141
</ol><p>Углубленное изучение можно провести позже. В качестве "базы" предложенные сведения являются достаточными.</p>
142
<h2>Присваивание</h2>
142
<h2>Присваивание</h2>
143
<p>В качестве оператора присваивания выступает символ "равно". Здесь допускается параллельное<a>присваивание</a>, как и в иных ЯП. Можно составлять выражения типа:</p>
143
<p>В качестве оператора присваивания выступает символ "равно". Здесь допускается параллельное<a>присваивание</a>, как и в иных ЯП. Можно составлять выражения типа:</p>
144
<p>a, b = b, a.</p>
144
<p>a, b = b, a.</p>
145
<p>Не нужно обеспечивать полное соответствие числа переменных количеству имеющихся значений. А значить, пользоваться оператором присваивания будет проще, чем в аналогичных languages.</p>
145
<p>Не нужно обеспечивать полное соответствие числа переменных количеству имеющихся значений. А значить, пользоваться оператором присваивания будет проще, чем в аналогичных languages.</p>
146
<h2>Табличные дела</h2>
146
<h2>Табличные дела</h2>
147
<p>Таблицы - это динамические ассоциативные массивы. Представлены парами "ключ-значение" в больших объемах. Единственный составной тип информации. Лежат в основе всех пользовательских БД.</p>
147
<p>Таблицы - это динамические ассоциативные массивы. Представлены парами "ключ-значение" в больших объемах. Единственный составной тип информации. Лежат в основе всех пользовательских БД.</p>
148
<p>Может наблюдаться следующее:</p>
148
<p>Может наблюдаться следующее:</p>
149
<ul><li>Ключи представлены литералами.</li>
149
<ul><li>Ключи представлены литералами.</li>
150
<li>В виде ключа допускается применение любого значения, исключая nil.</li>
150
<li>В виде ключа допускается применение любого значения, исключая nil.</li>
151
<li>Если nil записывается в элементы, манипуляция будет рассматриваться в качестве удаления соответствующего объекта.</li>
151
<li>Если nil записывается в элементы, манипуляция будет рассматриваться в качестве удаления соответствующего объекта.</li>
152
<li>Создание - как и массивы, но в виде значений принимаются целые числа компонентов в множестве.</li>
152
<li>Создание - как и массивы, но в виде значений принимаются целые числа компонентов в множестве.</li>
153
<li>Списки - это массивы двухэлементных массивов, хранящий значения и ссылки на иные компоненты.</li>
153
<li>Списки - это массивы двухэлементных массивов, хранящий значения и ссылки на иные компоненты.</li>
154
</ul><p>Также стоит обратить внимание на то, что при многомерных массивах чаще всего встречается реализация по типу "массив массивов". Многогранные и сложные составляющие реализовываются посредством таблиц. Как именно - зависит от поставленной перед разработчиком задачи.</p>
154
</ul><p>Также стоит обратить внимание на то, что при многомерных массивах чаще всего встречается реализация по типу "массив массивов". Многогранные и сложные составляющие реализовываются посредством таблиц. Как именно - зависит от поставленной перед разработчиком задачи.</p>
155
<h3>Метатаблицы</h3>
155
<h3>Метатаблицы</h3>
156
<p>Помогают в реализации большинства языков опций. Если выучить принципы работы с метатаблицами, удастся значительно упростить реализацию тех или иных задач.</p>
156
<p>Помогают в реализации большинства языков опций. Если выучить принципы работы с метатаблицами, удастся значительно упростить реализацию тех или иных задач.</p>
157
<p>Важно запомнить следующее:</p>
157
<p>Важно запомнить следующее:</p>
158
<ol><li>Метатаблица своими свойствами напоминает обычную таблицу с возможностью соответствия всем правилам и нормам.</li>
158
<ol><li>Метатаблица своими свойствами напоминает обычную таблицу с возможностью соответствия всем правилам и нормам.</li>
159
<li>Отвечает за хранение разнообразных метаданных типов и объектов. Здесь хранятся сведения, связанные с опциями и параметрами типов/объектов ЯП.</li>
159
<li>Отвечает за хранение разнообразных метаданных типов и объектов. Здесь хранятся сведения, связанные с опциями и параметрами типов/объектов ЯП.</li>
160
<li>Используемые материалы могут применяться через интерпретатор, расширяя функциональные возможности ПО.</li>
160
<li>Используемые материалы могут применяться через интерпретатор, расширяя функциональные возможности ПО.</li>
161
<li>Может быть связана со значениями любого типа.</li>
161
<li>Может быть связана со значениями любого типа.</li>
162
<li>Допускается применение всех метаметодов для арифметических манипуляций.</li>
162
<li>Допускается применение всех метаметодов для арифметических манипуляций.</li>
163
</ol><p>Рассматриваемый ЯП позволяет организовывать реализацию арифметики любых имеющихся объектов. Для этого осуществляется работа со стандартными и библиотечными метаметодами (через специальные библиотеки).</p>
163
</ol><p>Рассматриваемый ЯП позволяет организовывать реализацию арифметики любых имеющихся объектов. Для этого осуществляется работа со стандартными и библиотечными метаметодами (через специальные библиотеки).</p>
164
<h2>Особенности реализации</h2>
164
<h2>Особенности реализации</h2>
165
<p>Изучение любого ЯП - это обучение базовым навыкам и принципам работы выбранного варианта. При должной подготовке и на начальных порах все это не доставит никаких существенных хлопот. Главное значить, с чего начинать.</p>
165
<p>Изучение любого ЯП - это обучение базовым навыкам и принципам работы выбранного варианта. При должной подготовке и на начальных порах все это не доставит никаких существенных хлопот. Главное значить, с чего начинать.</p>
166
<p>Реализация Луа предусматривает:</p>
166
<p>Реализация Луа предусматривает:</p>
167
<ul><li>компилятор исходного кода (может быть запущен в режиме онлайн);</li>
167
<ul><li>компилятор исходного кода (может быть запущен в режиме онлайн);</li>
168
<li>виртуальную машину.</li>
168
<li>виртуальную машину.</li>
169
</ul><p>Обработка кода происходит так:</p>
169
</ul><p>Обработка кода происходит так:</p>
170
<ol><li>Пользователь пишет кодификацию.</li>
170
<ol><li>Пользователь пишет кодификацию.</li>
171
<li>Происходит обработка оной компилятором и преобразование в байт-коды.</li>
171
<li>Происходит обработка оной компилятором и преобразование в байт-коды.</li>
172
<li>Виртуальная машина запускает байт-коды.</li>
172
<li>Виртуальная машина запускает байт-коды.</li>
173
<li>Последние не выступают в виде команды сетевой машины - они рассматриваются как команды виртуального процессора с разнообразными регистрами.</li>
173
<li>Последние не выступают в виде команды сетевой машины - они рассматриваются как команды виртуального процессора с разнообразными регистрами.</li>
174
</ol><p>Классическая ВМ предусматривает распределение памяти задействованного устройства совместно со сборкой ненужной информации. Здесь имеет место единый строковый пул, который снижает требования к расходу памяти, необходимой для хранения строчек.</p>
174
</ol><p>Классическая ВМ предусматривает распределение памяти задействованного устройства совместно со сборкой ненужной информации. Здесь имеет место единый строковый пул, который снижает требования к расходу памяти, необходимой для хранения строчек.</p>
175
<h3>Если есть ошибки</h3>
175
<h3>Если есть ошибки</h3>
176
<p>Выучить язык программирования LUA - это не значит, что кодификации будут функционировать без ошибок. Корректировки иногда необходимы даже контенту от опытных разработчиков. Главное вовремя обнаружить проблемное место и внести те или иные изменения.</p>
176
<p>Выучить язык программирования LUA - это не значит, что кодификации будут функционировать без ошибок. Корректировки иногда необходимы даже контенту от опытных разработчиков. Главное вовремя обнаружить проблемное место и внести те или иные изменения.</p>
177
<p>Если при обработке программной кодификации в процессе компиляции обнаруживается ошибка (или если исполняется ее часть), система передаст управление хосту. Последний сможет увидеть ошибку и предпринять определенные меры. Пример - сообщить об обнаруженной неполадке.</p>
177
<p>Если при обработке программной кодификации в процессе компиляции обнаруживается ошибка (или если исполняется ее часть), система передаст управление хосту. Последний сможет увидеть ошибку и предпринять определенные меры. Пример - сообщить об обнаруженной неполадке.</p>
178
<h2>Как получить образование и лучше разбираться в ЯП</h2>
178
<h2>Как получить образование и лучше разбираться в ЯП</h2>
179
<p>Выучить ЯП можно несколькими способами. Все зависит от того, чего именно хочет добиться пользователь:</p>
179
<p>Выучить ЯП можно несколькими способами. Все зависит от того, чего именно хочет добиться пользователь:</p>
180
<ol><li>Обращение в ВУЗ. Вариант для тех, кто выпустился из школы и хочет полноценно работать программистом. Отнимает много средств, времени и сил. По выпуску выдается диплом государственного образца. Здесь затрагиваются самые известные ЯП.</li>
180
<ol><li>Обращение в ВУЗ. Вариант для тех, кто выпустился из школы и хочет полноценно работать программистом. Отнимает много средств, времени и сил. По выпуску выдается диплом государственного образца. Здесь затрагиваются самые известные ЯП.</li>
181
<li>Поступление в техникум. Отличное начало для старта в мире разработки. Обучение длиться меньше, чем в ВУЗе. По выпуску студент получит диплом о среднем профессиональном образовании. Этот документ поможет при поступлении в ВУЗ. Здесь достаточно много практики, но большинство ЯП не затрагиваются.</li>
181
<li>Поступление в техникум. Отличное начало для старта в мире разработки. Обучение длиться меньше, чем в ВУЗе. По выпуску студент получит диплом о среднем профессиональном образовании. Этот документ поможет при поступлении в ВУЗ. Здесь достаточно много практики, но большинство ЯП не затрагиваются.</li>
182
<li>Самообразование. Никаких документов, подтверждающих знания, не будет. Человек полностью самостоятельно старается познать ЯП. Зато такой подход может не требовать вообще никаких вложений - в Сети полно необходимой информации и туториалов. Часто самообразование используется людьми с хорошим самоконтролем. Позволяет больше практиковаться и полностью собственными силами контролировать процедуру обучения.</li>
182
<li>Самообразование. Никаких документов, подтверждающих знания, не будет. Человек полностью самостоятельно старается познать ЯП. Зато такой подход может не требовать вообще никаких вложений - в Сети полно необходимой информации и туториалов. Часто самообразование используется людьми с хорошим самоконтролем. Позволяет больше практиковаться и полностью собственными силами контролировать процедуру обучения.</li>
183
</ol><p>Но самым современным, простым и эффективным вариантом является обучение на специализированных курсах для новичков и продвинутых разработчиков. Там объяснят, что такое for i, как работать с компиляторами и многое другое. Обучение длится до года. В конце выдается электронный сертификат.</p>
183
</ol><p>Но самым современным, простым и эффективным вариантом является обучение на специализированных курсах для новичков и продвинутых разработчиков. Там объяснят, что такое for i, как работать с компиляторами и многое другое. Обучение длится до года. В конце выдается электронный сертификат.</p>
184
<p><em>Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в <a>Otus</a>!</em></p>
184
<p><em>Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в <a>Otus</a>!</em></p>
185
185