LuaRu
Материал из ТХАБ.РФ
(перенаправлено с «LuaPlus»)
Версия языка lua в которой дополнительно добавлена (а не заменены) возможность использовать русские:
- имена переменных - в современной версии Lua запретили даже использовать не латинские имена переменных и функций ("Для совместимости") - сделано
- функций - сделано
- ключевых слов - сделано
- русификация сообщений об ошибках - пока не сделано
Содержание
Загрузить
- Скачать с Яндекс Диска альфа версия LuaRu от 8 апреля 2018 с ключевыми словами от rts256 и ТХАБ.РФ (две версии)
Известные проблемы
- не выводятся сообщения на русском из-за проблем с кодировками - критическая
- файл с кодом не может иметь кириллическое имя
Планы разработки
- Сделать подсветку синтаксиса в портативной версии Notepad++
- добавить обновление от rst256 и скомпилировать его
- сделать справку по LuaRu на htm
- скомпилировать под ubuntu
- репозиторий кода на LuaRu
Области использования
- написание и модификация скриптов для игр и ПО
- написание торговых роботов для QUIK
- изучение программирования
Замечания
- пример того как можно добавить русские названия для базовых ф-й (см. файл lbaselib.c).
- И насчёт битовых операций в учебнике LuaRu устаревшая информация, в версии 5.3 добавлена полноценная их поддержка.
Что добавить (по приоритетам )
- русские имена переменных
- русские имена функций
- русские ключевые слова из 1С/Си Зуев интерстрон
- сообщения об ошибках на русском языке
- русские примеры и тесты
- русский учебник
- конвертер русс-лат
- Редактор кода с подсветкой одновременно русского И АНГЛИЙСКОГО синтаксиса
- Редактор кода с подсветкой и автодополнением русского синтаксиса.
Ключевые слова и их перевод
1. Учитывая особенности русского языка имеет смысл для некоторых операторов добавить 2 синонима. Например
- true - да, правда (ВКЛ - так в Глаголе)
- false - нет, ложь (ОТКЛ - так в Глаголе)
2. Для улучшения читабельности текста возможно имеет смысл "elseif" переводить как "иначе_если", а не "иначеесли" или "ИначеЕсли" (ЕСЛИ..ТО..АЕСЛИ..ТО..ИНАЧЕ..КОН - так в Глаголе)
3. и, или, не, - сделать большими И, ИЛИ, НЕ - ? (И, ИЛИ, НЕ - так в Глаголе)
3. после получения рабочей альфа версии необходимо будет ещё раз провести ревизию синтаксиса и на читабельность на больших кусках кода
Lua | Зуев | 1С | LuaRu | rts256 |
---|---|---|---|---|
and | И | и | ||
break | первать / выход | стоп | ||
do | делать, повторять | начало | ||
else | иначе | иначе | ||
elseif | иначе_если | иначеесли | ||
end | конец | всё | ||
false | ложь, нет | ложь | ||
for | для | для | ||
function | функция | функция | ||
goto | перейти, перейти_к | идина | ||
if | если | если | ||
in | в | в | ||
local | локальная | локал | ||
nil | пусто | нуль | ||
not | НЕ | не | ||
or | ИЛИ | или | ||
repeat | повторить | повторять | ||
return | вертуться, в начало | возврат | ||
then | то, тогда | тогда | ||
true | правда, да | истина | ||
until | покаНе | покуда | ||
while | пока | пока |
Пример кода
function square(iteratorMaxCount,currentNumber) if currentNumber<iteratorMaxCount then currentNumber = currentNumber+1 return currentNumber, currentNumber*currentNumber end end for i,n in square,3,0 do print(i,n) end
На LuaRu
функция Квадрат ( целСчётчикМаксимальноеКоличество, текущийНомер ) если текущийНомер < целСчётчикМаксимальноеКоличество тогда текущийНомер= текущийНомер + 1 возврат текущийНомер, текущийНомер * текущийНомер конец конец
для и, н в Квадрат, 3, 0 делай печать(и, н) конец
LuaRu разработка
- Учебник по LuaRu
- LuaRu тесты
- LuaRu компиляция исходников в Windows7
- IDE для LuaRu подсветка синтаксиса, настройка Notepad ++
- Замена Lua на LuaRu в программах
См. также
Ссылки
- https://vk.com/luaru Официальная группа ВКонтакте по LuaRu
- https://yadi.sk/d/b8tmsD993U6iai скачать с Яндекс Диска
- https://github.com/rusprogwiki Русификация Lua форк Lua 5.3.4
- http://plana.mybb.ru/viewtopic.php?id=576 Обсуждение LuaRu
- http://dev.mindillusion.ru/installation-lua/ компиляция Lua из исходников под Windows MSVC
- https://habrahabr.ru/post/144830/ Как настроить подсветку синтаксиса в Notepad++