Lua: различия между версиями
Материал из Поле цифровой дидактики
Patarakin (обсуждение | вклад) Нет описания правки Метка: отменено |
Patarakin (обсуждение | вклад) |
||
| (не показано 35 промежуточных версий этого же участника) | |||
| Строка 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=Да | ||
| Строка 18: | Строка 20: | ||
|Remixing?=Yes | |Remixing?=Yes | ||
}} | }} | ||
скриптовый язык программирования используется для написания игр. Например, на Lua написан написан [[Foldit]] CoockBook | Lua - скриптовый язык программирования используется для написания игр. Например, на Lua написан написан [[Foldit]] CoockBook, движок [[Roblox]] | ||
Внутри MediaWiki можно использовать скрипты-модули [[Lua]]. Надо научиться их встраивать. | |||
* https://zserge.wordpress.com/2012/02/23/lua-за-60-минут/ | |||
* https://lua.org.ru/contents_ru.html | |||
---- | |||
=== [[Lua]] - [[Рекурсия]] === | |||
<syntaxhighlight lang="lua" line> | |||
local function func( n ) | |||
if n == 1 then return 1 | |||
else return n * func( n - 1 ) | |||
end | |||
end | |||
print( func( 5 ) ) | |||
</syntaxhighlight> | |||
----- | |||
=== Пример использования модуля Lua === | |||
<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... the air smelled of fresh rain. на площадке медиавики была презентация
One day... the air smelled of fresh rain. на площадке медиавики была презентация
Представление внешних данных в виде таблиц и графов при помощи 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
