Lua: различия между версиями

Материал из Поле цифровой дидактики
 
(не показаны 22 промежуточные версии этого же участника)
Строка 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:Babanas|hello}}
‎<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}}
 
=== Пример 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
:

Текущая версия на 11:31, 4 сентября 2024


Краткое описание языка 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++, Pathfinding, Sophie Nik, Алгоритмы и структуры данных (syllabus), Данные, Информационные системы (Syllabus), Искусственный игровой интеллект, Как управлять поведением агентов на основании их пространственных характеристик, Программирование на языках высокого уровня, Программный код, Процедурное программирование, Рекурсия


Lua - скриптовый язык программирования используется для написания игр. Например, на Lua написан написан Foldit CoockBook, движок Roblox


Внутри MediaWiki можно использовать скрипты-модули Lua. Надо научиться их встраивать.


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

Пример 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