Lua: различия между версиями
Материал из Поле цифровой дидактики
Patarakin (обсуждение | вклад) |
Patarakin (обсуждение | вклад) |
||
| (не показано 7 промежуточных версий этого же участника) | |||
| Строка 2: | Строка 2: | ||
|Description=Lua (лу́а, с порт. — «луна»— скриптовый язык программирования, разработанный в подразделении Tecgraf (Computer Graphics Technology Group) Католического университета Рио-де-Жанейро (Бразилия). Интерпретатор языка является свободно распространяемым, с открытым исходным кодом на языке программирования Си. По идеологии и реализации язык Lua ближе всего к JavaScript, в частности, он также реализует прототипную модель ООП, но отличается паскалеподобным синтаксисом и более мощными и гибкими конструкциями. Характерной особенностью Lua является реализация большого числа программных сущностей минимумом синтаксических средств. Так, все составные пользовательские типы данных (массивы, структуры, множества, очереди, списки) реализуются через механизм таблиц, а механизмы объектно-ориентированного программирования, включая множественное наследование — с использованием метатаблиц, которые также отвечают за перегрузку операций и ряд других возможностей. | |Description=Lua (лу́а, с порт. — «луна»— скриптовый язык программирования, разработанный в подразделении Tecgraf (Computer Graphics Technology Group) Католического университета Рио-де-Жанейро (Бразилия). Интерпретатор языка является свободно распространяемым, с открытым исходным кодом на языке программирования Си. По идеологии и реализации язык Lua ближе всего к JavaScript, в частности, он также реализует прототипную модель ООП, но отличается паскалеподобным синтаксисом и более мощными и гибкими конструкциями. Характерной особенностью Lua является реализация большого числа программных сущностей минимумом синтаксических средств. Так, все составные пользовательские типы данных (массивы, структуры, множества, очереди, списки) реализуются через механизм таблиц, а механизмы объектно-ориентированного программирования, включая множественное наследование — с использованием метатаблиц, которые также отвечают за перегрузку операций и ряд других возможностей. | ||
|FieldActivity=Computational Thinker | |FieldActivity=Computational Thinker | ||
|Programming paradigm=Процедурное программирование | |Programming paradigm=Функциональное программирование, Процедурное программирование | ||
|Возрастная категория=16 | |Возрастная категория=16 | ||
|Dimension=2D | |Dimension=2D | ||
| Строка 58: | Строка 58: | ||
{{#invoke:WikiBook|wbook}} | {{#invoke:WikiBook|wbook}} | ||
=== Пример простейшего текстового генератора, который встраивает набор фраз в вики страницу === | |||
{{#invoke:SimpleGenerator|generateText}} | |||
; [[Модуль:SimpleGenerator]] | |||
{{#invoke:SimpleGenerator|generateText}} | |||
=== Представление внешних данных в виде таблиц и графов при помощи [[Graphviz]] === | |||
{{#invoke:ExtGraph|main|url=https://raw.githubusercontent.com/patarakin/stat-data/refs/heads/main/datasets/csv/digida_collab.csv|view=graph}} | |||
=== Пример 2 === | === Пример 2 === | ||
; Вызов модуля, который возвращает цветные буквы текста (Латиница) | |||
{{#invoke:ColorAlphabet|letter|Colored text}} | {{#invoke:ColorAlphabet|letter|Colored text and something more}} | ||
=== Пример 3 === | === Пример 3 === | ||
; Модуль возвращает гистограмму численности групп | |||
{{ #invoke:Chart | bar chart | {{ #invoke:Chart | bar chart | ||
| Строка 97: | Строка 108: | ||
: Lua — "маленький язык", с низкой когнитивной нагрузкой и простотой в изучении и использовании. Он встроен во многое ПО, такое как Redis, NGINX через OpenResty и Wireshark. Он также используется в качестве скриптового языка в таких играх, как [[World of Warcraft]] и [[Roblox]] через [[Luau]] | : Lua — "маленький язык", с низкой когнитивной нагрузкой и простотой в изучении и использовании. Он встроен во многое ПО, такое как Redis, NGINX через OpenResty и Wireshark. Он также используется в качестве скриптового языка в таких играх, как [[World of Warcraft]] и [[Roblox]] через [[Luau]] | ||
; https://www.mediawiki.org/wiki/Help:Lua/Lua_best_practice/ru | ; https://www.mediawiki.org/wiki/Help:Lua/Lua_best_practice/ru | ||
: | : Lua в MediaWiki | ||
; https://en.wikibooks.org/wiki/Category:Book:Lua_Programming | |||
: Вики учебник | |||
; https://www.tutorialspoint.com/compilers/online-lua-compiler.htm | |||
: on-line | |||
Текущая версия от 13:00, 5 марта 2026
| Краткое описание языка | Lua (лу́а, с порт. — «луна»— скриптовый язык программирования, разработанный в подразделении Tecgraf (Computer Graphics Technology Group) Католического университета Рио-де-Жанейро (Бразилия). Интерпретатор языка является свободно распространяемым, с открытым исходным кодом на языке программирования Си. По идеологии и реализации язык Lua ближе всего к JavaScript, в частности, он также реализует прототипную модель ООП, но отличается паскалеподобным синтаксисом и более мощными и гибкими конструкциями. Характерной особенностью Lua является реализация большого числа программных сущностей минимумом синтаксических средств. Так, все составные пользовательские типы данных (массивы, структуры, множества, очереди, списки) реализуются через механизм таблиц, а механизмы объектно-ориентированного программирования, включая множественное наследование — с использованием метатаблиц, которые также отвечают за перегрузку операций и ряд других возможностей. |
|---|---|
| Компетенции в каких сферах формирует | Computational Thinker |
| Парадигмы программирования | Функциональное программирование, Процедурное программирование |
| Возрастная категория | 16 |
| Назначение языка (Общее / Учебное) | Язык общего назначения |
| Visual_Text_Blocks | Текст |
| Измерение (2D/3D/Tangible) | 2D |
| Область знаний | |
| Открытость продукта | Открытый |
| Address | http://www.lua.org/ |
| Предки (Ancestors) | Scheme |
| Потомки (Descendants) | JavaScript, Fennel |
| Активность в данный момент | Project is active |
| Доступны ремиксы? | Да |
| Год создания | 1993 |
| Создатели | Селиш |
| Поясняющее видео | |
| Используется для создания мобильных приложений? | Да |
- Lua упоминается в свойствах следующих страниц
- How to Keep Score in a Game, How to connect Lua and C++, Learn2love, Lua/Таблица, Pathfinding, Sophie Nik, Алгоритмы и структуры данных (syllabus), Данные, Информационные системы (Syllabus), Информационные системы (Syllabus) 2025, Искусственный игровой интеллект, Как написать курсовую работу по программированию, Как проводить статистические вычисления в Lua, Как управлять поведением агентов на основании их пространственных характеристик, Мобильное приложение, Описательная статистика, Описать датасет при помощи описательной статистики, Программирование (syllabus) 2026, Программирование (математики и физики), Программирование на языках высокого уровня, Программный код, Процедурное программирование, Регулярные выражения, Рекурсия
Lua - скриптовый язык программирования используется для написания игр. Например, на Lua написан написан Foldit CoockBook, движок Roblox
Внутри MediaWiki можно использовать скрипты-модули Lua. Надо научиться их встраивать.
local function func( n )
if n == 1 then return 1
else return n * func( n - 1 )
end
end
print( func( 5 ) )
Пример использования модуля Lua
local p = {} --p stands for package
function p.wbook( frame )
return "This is en example [[Active Essays]] on [[Lua]]"
end
return p
This is en example Active Essay on Lua
Пример простейшего текстового генератора, который встраивает набор фраз в вики страницу
One day... a sudden downpour surprised everyone. the birds were singing melodiously.
One day... a sudden downpour surprised everyone. the birds were singing melodiously.
Представление внешних данных в виде таблиц и графов при помощи Graphviz
<graphviz> digraph G {
layout = "neato"; node [shape=none]; "A_266" -> "P_3327"; "A_268" -> "P_3327"; "A_270" -> "P_3711"; "A_278" -> "P_3711"; "A_1195" -> "P_3882"; "A_1295" -> "P_3882"; "A_411" -> "P_3968"; "A_433" -> "P_3968"; "A_433" -> "P_3972"; "A_439" -> "P_3972"; "A_414" -> "P_4037"; "A_455" -> "P_4037"; "A_435" -> "P_4044"; "A_632" -> "P_4044"; "A_469" -> "P_4173"; "A_497" -> "P_4173"; "A_361" -> "P_4179"; "A_362" -> "P_4179"; "A_415" -> "P_4444"; "A_468" -> "P_4444"; "A_415" -> "P_4471"; "A_546" -> "P_4471"; "A_415" -> "P_4474"; "A_548" -> "P_4474"; "A_412" -> "P_4476"; "A_518" -> "P_4476"; "A_550" -> "P_4476"; "A_413" -> "P_4478"; "A_565" -> "P_4478"; "A_415" -> "P_4486"; "A_555" -> "P_4486"; "A_415" -> "P_4490"; "A_563" -> "P_4490"; "A_565" -> "P_4490"; "A_569" -> "P_4490"; "A_411" -> "P_4494"; "A_559" -> "P_4494"; "A_411" -> "P_4497"; "A_564" -> "P_4497"; "A_413" -> "P_4525"; "A_553" -> "P_4525"; "A_415" -> "P_4541"; "A_621" -> "P_4541"; "A_700" -> "P_4541"; "A_471" -> "P_4586"; "A_1221" -> "P_4586"; "A_539" -> "P_4589"; "A_707" -> "P_4589"; "A_411" -> "P_4600"; "A_558" -> "P_4600"; "A_411" -> "P_4650"; "A_570" -> "P_4650"; "A_456" -> "P_4729"; "A_457" -> "P_4729"; "A_1193" -> "P_5756"; "A_1194" -> "P_5756"; "A_1197" -> "P_5756"; "A_1200" -> "P_5756"; "A_1204" -> "P_5756"; "A_2067" -> "P_5756"; "A_1172" -> "P_5945"; "A_1843" -> "P_5945"; "A_1254" -> "P_6052"; "A_1257" -> "P_6052"; "A_1258" -> "P_6052"; "A_1241" -> "P_6069"; "A_1249" -> "P_6069"; "A_1246" -> "P_6079"; "A_1412" -> "P_6079"; "A_1372" -> "P_6237"; "A_1375" -> "P_6237"; "A_1370" -> "P_6269"; "A_1376" -> "P_6269"; "A_1733" -> "P_6269"; "A_1821" -> "P_6269"; "A_1246" -> "P_6313"; "A_1247" -> "P_6313"; "A_1367" -> "P_6351"; "A_1368" -> "P_6351"; "A_1369" -> "P_6351"; "A_1370" -> "P_6351"; "A_1371" -> "P_6351"; "A_1372" -> "P_6351"; "A_1374" -> "P_6351"; "A_1375" -> "P_6351"; "A_1376" -> "P_6351"; "A_1397" -> "P_6351"; "A_1368" -> "P_6370"; "A_1371" -> "P_6370"; "A_1372" -> "P_6373"; "A_1378" -> "P_6373"; "A_1193" -> "P_6442"; "A_1194" -> "P_6442"; "A_1195" -> "P_6442"; "A_1197" -> "P_6442"; "A_1198" -> "P_6442"; "A_1199" -> "P_6442"; "A_1200" -> "P_6442"; "A_1201" -> "P_6442"; "A_1202" -> "P_6442"; "A_1204" -> "P_6442"; "A_1586" -> "P_6492"; "A_1639" -> "P_6492"; "A_1368" -> "P_6497"; "A_1371" -> "P_6497"; "A_1493" -> "P_6651"; "A_1495" -> "P_6651"; "A_1642" -> "P_6912"; "A_1643" -> "P_6912"; "A_1642" -> "P_6913"; "A_1643" -> "P_6913"; "A_1193" -> "P_7066"; "A_1194" -> "P_7066"; "A_1200" -> "P_7066"; "A_1201" -> "P_7066"; "A_1293" -> "P_7066"; "A_1201" -> "P_7164"; "A_1204" -> "P_7164"; "A_1502" -> "P_7212"; "A_1590" -> "P_7212"; "A_1198" -> "P_7507"; "A_1203" -> "P_7507"; "A_1535" -> "P_7507"; "A_1529" -> "P_7619"; "A_1670" -> "P_7619"; "A_1495" -> "P_7709"; "A_2211" -> "P_7709";
} </graphviz>
Пример 2
- Вызов модуля, который возвращает цветные буквы текста (Латиница)
Colored text and something more
Пример 3
- Модуль возвращает гистограмму численности групп
25
50
75
100
125
150
09
10
11
11
- Учителя
- Ученики
- Роботы
1
1 000 000
2 000 000
3 000 000
4 000 000
10 000
20 000
30 000
40 000
50 000
5000
10 000
15 000
20 000
1920
1965
2002
- People
- Cars
- Average car cost
Lua - руководства
- https://habr.com/ru/articles/738414/
- Lua — "маленький язык", с низкой когнитивной нагрузкой и простотой в изучении и использовании. Он встроен во многое ПО, такое как Redis, NGINX через OpenResty и Wireshark. Он также используется в качестве скриптового языка в таких играх, как World of Warcraft и Roblox через Luau
- https://www.mediawiki.org/wiki/Help:Lua/Lua_best_practice/ru
- Lua в MediaWiki
- https://en.wikibooks.org/wiki/Category:Book:Lua_Programming
- Вики учебник
- https://www.tutorialspoint.com/compilers/online-lua-compiler.htm
- on-line
