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

Материал из Поле цифровой дидактики
Строка 43: Строка 43:


-----
-----
<syntaxhighlight lang="gama">
action do_move {
if (((velocity.x) as int) = 0) and (((velocity.y) as int) = 0) {
velocity <- {(rnd(4)) - 2, (rnd(4)) - 2};
}
point old_location <- location;
do goto target: location + velocity;
velocity <- location - old_location;
}
</syntaxhighlight>
=== Пример использования модуля Lua ===
=== Пример использования модуля Lua ===



Версия 22:01, 19 июня 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 ) )



	action do_move {
		if (((velocity.x) as int) = 0) and (((velocity.y) as int) = 0) {
			velocity <- {(rnd(4)) - 2, (rnd(4)) - 2};
		}

		point old_location <- location;
		do goto target: location + velocity;
		velocity <- location - old_location;
	}

Пример использования модуля 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


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