LuaRu

Материал из ТХАБ.РФ
(перенаправлено с «LuaPlus»)
Перейти к: навигация, поиск

Версия языка lua в которой дополнительно добавлена (а не заменены) возможность использовать русские:

  • имена переменных - в современной версии Lua запретили даже использовать не латинские имена переменных и функций ("Для совместимости") - сделано
  • функций - сделано
  • ключевых слов - сделано
  • русификация сообщений об ошибках - пока не сделано

Загрузить

Известные проблемы

  • не выводятся сообщения на русском из-за проблем с кодировками - критическая
  • файл с кодом не может иметь кириллическое имя

Планы разработки

  • Сделать подсветку синтаксиса в портативной версии Notepad++
  • добавить обновление от rst256 и скомпилировать его
  • сделать справку по LuaRu на htm
  • скомпилировать под ubuntu
  • репозиторий кода на LuaRu

Области использования

  • написание и модификация скриптов для игр и ПО
  • написание торговых роботов для QUIK
  • изучение программирования

Замечания

  • пример того как можно добавить русские названия для базовых ф-й (см. файл lbaselib.c).
  • И насчёт битовых операций в учебнике LuaRu устаревшая информация, в версии 5.3 добавлена полноценная их поддержка.

Что добавить (по приоритетам )

  • русские имена переменных
  • русские имена функций
  • русские ключевые слова из 1С/Си Зуев интерстрон
  • сообщения об ошибках на русском языке
  • русские примеры и тесты
  • русский учебник
  • конвертер русс-лат
  • Редактор кода с подсветкой одновременно русского И АНГЛИЙСКОГО синтаксиса
  • Редактор кода с подсветкой и автодополнением русского синтаксиса.

Ключевые слова и их перевод

1. Учитывая особенности русского языка имеет смысл для некоторых операторов добавить 2 синонима. Например

  • true - да, правда (ВКЛ - так в Глаголе)
  • false - нет, ложь (ОТКЛ - так в Глаголе)

2. Для улучшения читабельности текста возможно имеет смысл "elseif" переводить как "иначе_если", а не "иначеесли" или "ИначеЕсли" (ЕСЛИ..ТО..АЕСЛИ..ТО..ИНАЧЕ..КОН - так в Глаголе)

3. и, или, не, - сделать большими И, ИЛИ, НЕ - ? (И, ИЛИ, НЕ - так в Глаголе)

3. после получения рабочей альфа версии необходимо будет ещё раз провести ревизию синтаксиса и на читабельность на больших кусках кода

Lua Зуев 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 разработка

См. также

Ссылки