Lua что за язык

Lua обучения очень проста, мы можем сначала создать программу Lua!

Программа First Lua

Интерактивное программирование

Lua обеспечивает интерактивный режим программирования. Мы можем войти в программу в командной строке и увидеть эффект сразу.

Lua интерактивный режим программирования с помощью команд или Lua Lua -i, чтобы включить его:

$ lua -i $ Lua 5.3.0 Copyright (C) 1994-2015 Lua.org, PUC-Rio >

В командной строке введите следующую команду:

> print(«Hello World!»)

Затем нажмите клавишу ввода, вывода результатов заключаются в следующем:

> print(«Hello World!») Hello World! >

Scripted Программирование

Основы Lua

Первое, на что стоит обращать внимание в любом языке программирования — как делать комментарии.
Коментарии — это неисполняемые участки скрипта, которые могут описывать какие-то особенности функционала, присутствовать для логического разграничения, либо просто временно отменять выполнение части кода.

Для чего нужен язык Lua? Обзор языка программирования LUA.


Знание, как обозначаются комментарии, сильно упрощает чтение кода.

В Lua есть однострочные и блочные комментарии. Чтобы какая-то строка кода перестала выполняться, достаточно в начале строки добавить двойной дефис.

Переменные

Второе по важности — знать, как создавать переменные и какие типы бывают.

Если упрощенно, из типов необходимо знать про строки, числа, boolean (true, false), таблицы. При создании переменной указываем слово local. При дальнейшем использовании — не указываем.

Можно делать и множественное присвоение. Конечно, если считаете, что экономия на строках стоит ухудшения читабельности кода.

Встроенные функции

Lua, конечно же, имеет ряд полезных встроенных функций. Например, print выводит переданное значение в консоль (Output панель), type возвращает тип аргумента. tostring и tonumber — для изменения типа данных.

Встроенные функции 2

Некоторые функции добавляет Roblox:
— wait — задержка в выволнении последовательности команд. Принимает значение в секундах.
— tick — текущее время в секундах (прошедших с 1 января 1970 UTC, конечно).

Операторы

Если одинарное «равно» — оператор присваивания значения в переменную, то «двойное равно» служит для сравнения является ли левая часть равна правой. А «не равно» обозначается как ~=.

Условия

Важную роль в программировании играет обрабатывание условий. Так можно сделать либо одно действие, либо другое, в зависимости от каких-то данных.

Простейший пример. Выполним какое-то действие только «если значение переменной count равно 10», иначе просто пропустим этот участок кода.

Либо можно добавлять другие условия, а также обрабатывать случай, когда ни одно условие не выполнилось (else)

В конструкциях условий на равне с математическими знаками равенства можно использовать ключевые слова and, or, not.

Например, можно даже так сделать:

Lua in 100 Seconds

Таблицы

Стоит чуть больше остановиться на таком типе данных как таблицы. Они часто используются для переменных, содержащих набор настроек, или как массивы исходных данных.

Виды таблиц:
— массив — все элементы таблицы одного типа
— список — элементы таблицы разного типа
— словарь — элементы таблицы имеют именованные ключи (по-умолчанию, они являются индексами, числами от 1)

А вот так еще можно добавлять значения в таблицу:

Строки

Строки могут быть в двойных или одинарных ковычках. Главное чтобы они были парными.

Для склеивания строк используется «двойная точка».

Имеется синтаксис для создания многострочных текстовых переменных.

Определение длины строки:

Некоторые другие полезные методы встроенной библиотеки string:

Объявление функций

Функции — это такие наборы команд, которые можно вызывать в другом месте кода, без необходимости копировать код. Также функции могут принимать параметры для своих вычислений.

Цикл For-in

Для прохода по некоторому списку подходит цикл for-in. Данный пример выведет в консоль поочередно цифры 1, 5, 67, 3, 5.

Цикл For-do

Этот цикл принимает 3 значения через запятую: начальное знание, максимальное значение, на сколько увеличивается значение с каждым шагом (по-умолчанию равно 1 и может быть опущено). В переменную step присваивается текущее значение счетчика (1 —> 5 —> 9) и цикл продолжается, пока значение меньше или равно максимальному.

Цикл While

Цикл выполняется пока проверка (между while и do) выдаёт true.

Нередко нам нужен бесконечный цикл. Тогда вместо условия просто ставят true. Только не забудьте внутри цикла поставить задержку с wait, иначе программа просто зависнет. Я видел реализации с wait в условии проверки, это кому как нравится

Цикл Repeat

Достаточно редко встречается, т.к. все предпочитают while. Разница в том, что тело цикла выполняется до проверки условия.

Встроенные библиотеки

Есть ряд встроенных библиотек, каждая из которых даёт достаточно большие возможности: math, table, string, io, os, debug, coroutine.

Каждая из них — отдельная большая тема. Обращайтесь к документации.

Источник: robloxer.net

Почему я решил программировать на Lua?

Почему я решил программировать на Lua?

Автор (разработчик одной из аутсорсинговых фирм) решил написать это эссе, когда просматривал почтовую рассылку по языку Lua и наткнулся на бесхитростный вопрос: «А почему язык Lua не слишком распространен?» На этот вопрос существует несколько ответов. Кто-то скажет, что в Lua недостает библиотек классов, но автору ближе другая точка зрения.

Возможно, дело в том, что не все любят решать возникающие проблемы самостоятельно. Зачастую Lua сравнивают с Arch Linux – имея при этом в виду, что Lua изначально была уготована судьба быть «языком для меньшинства». И вот несколько причин, по которым кто-то предпочитает работать именно с Lua.

Lua можно интегрировать с C/C++ Не могу сказать, что у меня большой опыт программирования, но мне доводилось работать со многими языками – в частности, с Lisp, Scheme, Python, Perl, Bash, VBA, SQL и пр. И ни один из них не работает в сочетании с языком C. Кстати, API C вполне ясен, с ним можно разобраться всего за вечер. Почему это важно?

Во-первых, если у вас есть готовая библиотека классов C/C++, то работать с этим API вам не составит труда. Кроме того, можно написать специальный скрипт, который позволит выполнять функции Lua на языке C – а это значит, что у Lua не будет проблем со скоростью.

Если вам покажется, что для решения стоящей перед вами задачи язык Lua недостаточно быстрый – можно просто переписать тот или иной код на C. Конечно, существует далеко не один язык, код которого можно переписать на C, но проще всего такие манипуляции мне удавались именно с Lua. Lua – быстрый и четкий язык По сравнению с другими языками Lua значительно эффективнее.

Возможно, это объясняется тем, что в Lua применяется виртуальная машина, основанная на регистре, а не на хранилище (storehouse). А может быть, программисты, умеющие обращаться с Lua, просто чертовски профессионально работают. Так или иначе, еще никому не приходится жаловаться на производительность кода, написанного на Lua.

Но если вы всё равно считаете, что код выполняется недостаточно быстро – можете попробовать поработать с LuaJIT. LuaJIT широко известен как динамический язык программирования, код на котором выполняется исключительно быстро. Он потребляет мало оперативной памяти: виртуальная машина требует 125 килобайт, а оперативный компилятор – всего 85 килобайт (в среде с x86-процессором).

Можно многому научиться Несмотря на то, что язык программирования – не средство обучения как таковое, я думаю, что, поработав с Lua, я действительно многому научился. Например, я прочел статью о том, как работает Lua 5.0 – и наконец разобрался в принципах работы виртуальной машины.

Функциональное программирование В Lua предоставляется фреймворк для функционального программирования, благодаря которому сам процесс программирования становится гораздо интереснее. В отличие от некоторых других языков, такие элементы, как анонимные функции, функции высшего порядка, лексические замыкания и хорошо организованные хвостовые вызовы (они же – завершающие вызовы, tail calls) – это не просто попытка «подсластить» синтаксис.

Правда, в Lua эти компоненты имеют низкоуровневую реализацию. Например, каждый метод в языке Lua представляет собой значение (например, число 2 или последовательность символов «ktr») – это означает, что все методы являются анонимными. Чтобы использовать эти методы, их нужно просто поименовать.

Допустим, можно переприсвоить print: print = math.sin Эту функцию можно использовать как «sandboxie» – средство для изоляции других функций. Например, если print – опасный процесс, его можно заменить собственным print или отменить. Все переменные – табличные В языке Lua все типы переменных являются табличными. Это касается массивов, хэшей, «модульных» или глобальных переменных и т.д.

Это означает, что можно «потребовать» определенные модули, а их результаты интерпретировать как таблицы (ситуация напоминает работу с операторами импорта в языке Python). В Python вы можете «can___import___(‘…’)» некоторые модули, а переменные с возвращаемым значением могут быть просмотрены методом, напоминающим var(module. В Lua можно просмотреть переменные модулей при помощи module[var].

Кроме того, зная Python, вы сможете быстрее изучить грамматику Lua. Даже не придется серьезно задумываться над тем, в чем заключается разница между списком и словарем или пакетом. Последовательность Возможно, вы и сами заметили: в Lua, как говорится, все сразу было сделано именно так, как надо.

Например, в Lua не было цикла FOR до версии Lua 4.0, которая вышла уже через 7 лет после появления самого языка Lua. Просто в этом языке более популярен цикл WHILE, а грамматика более лаконична. Правда, команда разработчиков Lua сравнительно консервативна, эти люди не любят писать патчи, поэтому Lua развивается не так быстро, как хотелось бы, – но зато верным путем.

Транспортируемость Я не буду подробно останавливаться на этом аспекте. Скажу только, что Lua можно использовать практически в любых средах. Код Lua компилируется в соответствии со стандартом «Clean ANSI C». Итак, если ваша операционная среда предназначена для работы с языком C, то вы можете здесь же использовать и Lua. Итак, Lua – очень простой и в то же время мощный язык. Источник

Текст: Отдел новостей Теги: c, языки программирования, lua

Нашли ошибку в тексте-выделите ее и нажмите Ctrl+Enter. Нашли ошибку в тексте-выделите ее и нажмите кнопку «Сообщить об ошибке».»

Источник: devby.io

Рейтинг
( Пока оценок нет )
Загрузка ...
Заработок в интернете или как начать работать дома