Lua: различия между версиями
Материал из Поле цифровой дидактики
Patarakin (обсуждение | вклад) Нет описания правки |
Patarakin (обсуждение | вклад) |
||
| (не показано 27 промежуточных версий этого же участника) | |||
| Строка 1: | Строка 1: | ||
{{Карточка языка программирования | {{Карточка языка программирования | ||
|Description=Lua (лу́а, с порт. — «луна»— скриптовый язык программирования, разработанный в подразделении Tecgraf (Computer Graphics Technology Group) Католического университета Рио-де-Жанейро (Бразилия). Интерпретатор языка является свободно распространяемым, с открытым исходным кодом на языке программирования Си. По идеологии и реализации язык Lua ближе всего к JavaScript, в частности, он также реализует прототипную модель ООП, но отличается паскалеподобным синтаксисом и более мощными и гибкими конструкциями. Характерной особенностью Lua является реализация большого числа программных сущностей минимумом синтаксических средств. Так, все составные пользовательские типы данных (массивы, структуры, множества, очереди, списки) реализуются через механизм таблиц, а механизмы объектно-ориентированного программирования, включая множественное наследование — с использованием метатаблиц, которые также отвечают за перегрузку операций и ряд других возможностей. | |||
|FieldActivity=Computational Thinker | |FieldActivity=Computational Thinker | ||
|Programming paradigm=Функциональное программирование, Процедурное программирование | |||
|Возрастная категория=16 | |Возрастная категория=16 | ||
|Dimension=2D | |Dimension=2D | ||
| Строка 8: | Строка 10: | ||
|Address=http://www.lua.org/ | |Address=http://www.lua.org/ | ||
|Ancestors=Scheme | |Ancestors=Scheme | ||
|Descendants=JavaScript | |Descendants=JavaScript, Fennel | ||
|ActiveNow=Project is active | |ActiveNow=Project is active | ||
|Remixing=Да | |Remixing=Да | ||
| Строка 19: | Строка 21: | ||
}} | }} | ||
Lua - скриптовый язык программирования используется для написания игр. Например, на Lua написан написан [[Foldit]] CoockBook, движок [[Roblox]] | Lua - скриптовый язык программирования используется для написания игр. Например, на Lua написан написан [[Foldit]] CoockBook, движок [[Roblox]] | ||
Внутри MediaWiki можно использовать скрипты-модули [[Lua]]. Надо научиться их встраивать. | Внутри MediaWiki можно использовать скрипты-модули [[Lua]]. Надо научиться их встраивать. | ||
| Строка 40: | Строка 43: | ||
----- | ----- | ||
=== Пример использования модуля Lua === | === Пример использования модуля Lua === | ||
{{#invoke: | <syntaxhighlight lang="lua" line> | ||
local p = {} --p stands for package | |||
function p.wbook( frame ) | |||
return "This is en example [[Active Essays]] on [[Lua]]" | |||
end | |||
return p | |||
</syntaxhighlight> | |||
{{#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 === | |||
; Вызов модуля, который возвращает цветные буквы текста (Латиница) | |||
{{#invoke:ColorAlphabet|letter|Colored text and something more}} | |||
=== Пример 3 === | |||
; Модуль возвращает гистограмму численности групп | |||
{{ #invoke:Chart | bar chart | |||
| height = 250 | |||
| width = 300 | |||
| stack = 1 | |||
| group 1 = 40 : 50 : 60 : 20 | |||
| group 2 = 20 : 60 : 12 : 44 | |||
| group 3 = 55 : 14 : 33 : 5 | |||
| colors = green : yellow : orange | |||
| group names = Учителя : Ученики : Роботы | |||
| units suffix = Количество | |||
| x legends = 09 : 10 : 11 : 11 | |||
}} | |||
=== 1 === | |||
{{ #invoke:Chart | bar chart | |||
| width = 800 | |||
| group 1 = 1500000 : 2500000 : 3500000 | |||
| group 2 = 200 : 5000 : 45000 | |||
| group 3 = 2000 : 5000 : 20000 | |||
| colors = red : blue : green | |||
| group names = People : Cars : Average car cost | |||
| x legends = 1920 : 1965 : 2002 | |||
| tooltip 2 = : There is no good data for number of cars in 1965. we use 5,000 as best estimate | |||
| units prefix = : : $ | |||
| scale per group = 1 | |||
}} | |||
== 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 | |||
Текущая версия от 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
