Пыль
Plua — это порт языка программирования Lua 5.0.3 вместе с небольшой IDE для платформы Palm Computing . Lua — это язык программирования, разработанный в TeCGraf, группе технологий компьютерной графики PUC-Рио , Бразилия . Plua включает в себя некоторые расширения Lua для лучшей поддержки платформы Palm.
Разработка Plua прекращена, и последнюю стабильную версию Plua 2.0 можно загрузить только с доски обсуждений. [1] Предыдущая версия Plua 1.1 является портом Lua 4.0. Расширения несколько различаются в разных версиях. Поэтому новую версию иногда называют Plua 2, чтобы избежать путаницы.
Языковые ресурсы
[ редактировать ]Plua имеет некоторые специальные функции или расширения для поддержки платформы Palm, в том числе:
- Компоненты графического пользовательского интерфейса (GUI), определяемые положением: кнопки, флажки и т. д.
- Прямое построение графики на основе информации о вершинах: линиях, кругах и т. д.
- Может работать с потоками, базами данных или компьютерными файлами на картах памяти.
- Поддерживает связь через инфракрасный и последовательный порты.
- Рудиментарный спрайтовый движок.
Пример кода, Plua 1
[ редактировать ]и Размер компилятора интерпретатора составляет около 150 КБ, а скомпилированный файл helloworldApp.prc, показанный ниже, — примерно 2 КБ.
Классическую программу hello world (в старой версии) можно написать так:
-- HelloWorld.lua
ptitle("Hello World")
print ("Hello, world!")
pevent()
Этот текст будет сохранен как обычная заметка на Palm и выполнен при нажатии кнопки «Выполнить» в IDE. Альтернативно, программу можно скомпилировать в PRC (программный файл ОС Palm, который является исполняемым на любой платформе Palm, при условии наличия программы времени выполнения) из той же IDE.
Разбивка программы:
- Строка №1:
- Двойные тире определяют приведенную выше строку как комментарий. Все файлы заметок Plua должны быть определены как таковые, прежде чем их можно будет запустить или скомпилировать в Plua.
- Строка № 2:
- Определяет заголовок вверху страницы.
- Строка №3:
- Печатает сообщение «Привет, мир!» на экране под строкой заголовка.
- Строка № 4:
- Приведенная выше команда приостанавливает выполнение программ и ожидает любого взаимодействия со стороны пользователя. К ним относятся нажатия кнопок, ввод символов или нажатие аппаратной кнопки.
Пример кода, Plua 2
[ редактировать ]Эквивалентную программу с новыми расширениями можно записать следующим образом:
-- HelloWorld.lua
gui.title 'Hello world'
print 'Hello world!'
gui.event(ioPending)
Разбивка программы: Комментарий к первой строке такой же, как и раньше, но все остальное немного отличается.
- Строка № 2:
- The
gui.title
Функция определяет заголовок вверху страницы. Круглые скобки необязательны для вызова функции Lua с одним строковым аргументом (а также для одного конструктора таблицы). Строковые литералы могут заключаться в одинарные или двойные кавычки.
- The
- Строка №3:
- Печатает сообщение «Привет, мир!» на экране под строкой заголовка. Если бы использовались необязательные круглые скобки и двойные кавычки (а они могли бы быть), эта строка была бы идентична первой версии.
- Строка № 4:
- Приведенная выше команда приостанавливает выполнение программ и ожидает любого взаимодействия со стороны пользователя. Аргумент ioPending — это просто заранее определенное число, включенное в Plua 2, представляющее запрос на такое поведение.