LuaRu — различия между версиями

Материал из ТХАБ.РФ
Перейти к: навигация, поиск
м (Пример кода)
м
 
(не показано 38 промежуточных версий 4 участников)
Строка 1: Строка 1:
Версия языка [[lua]] в которой дополнительно добавлена (а не заменены) возможность использовать русские  
+
Версия языка [[lua]] в которой дополнительно добавлена (а не заменены) возможность использовать русские:
* имена переменных
+
* имена переменных - в современной версии Lua запретили даже использовать не латинские имена переменных и функций ("Для совместимости") - сделано
* функций
+
* функций - сделано
* ключевых слов
+
* ключевых слов - сделано
* русификация сообщений об ошибках
+
* русификация сообщений об ошибках - пока не сделано
  
== LuaPLUS промо ==
+
== Загрузить ==
 +
* [https://yadi.sk/d/b8tmsD993U6iai Скачать с  Яндекс Диска] альфа версия LuaRu от 8 апреля 2018 с ключевыми словами от rts256 и ТХАБ.РФ (две версии)
 +
 
 +
=== Известные проблемы ===
 +
* не выводятся сообщения на русском из-за  проблем с кодировками - критическая
 +
* файл с кодом не может иметь кириллическое имя
 +
 
 +
=== Планы разработки ===
 +
* Сделать подсветку синтаксиса в портативной версии Notepad++
 +
* добавить обновление от rst256 и скомпилировать его
 +
* сделать справку по LuaRu на htm
 +
* скомпилировать под ubuntu
 +
* репозиторий кода на LuaRu
  
 
== Области использования ==
 
== Области использования ==
* написание и модификация игровых скриптов
+
* написание и модификация скриптов для игр и ПО
* написание торговых роботов
+
* написание торговых роботов для [[QUIK]]
 
* изучение программирования
 
* изучение программирования
  
 +
=== Замечания ===
 +
* пример того как можно добавить русские названия для базовых ф-й (см. файл [https://github.com/rst256/luaRu/blob/master/lbaselib.c lbaselib.c]).
 +
* И насчёт битовых операций в учебнике LuaRu устаревшая информация, в версии 5.3 добавлена полноценная их поддержка.
  
 
=== Что добавить (по приоритетам ) ===
 
=== Что добавить (по приоритетам ) ===
Строка 25: Строка 40:
  
 
=== Ключевые слова и их перевод ===
 
=== Ключевые слова и их перевод ===
 +
 +
1. Учитывая особенности русского языка имеет смысл для некоторых операторов добавить 2 синонима. Например
 +
 +
* true - да, правда (ВКЛ - так в Глаголе)
 +
 +
* false - нет, ложь (ОТКЛ - так в Глаголе)
 +
 +
2. Для улучшения читабельности текста возможно имеет смысл "elseif" переводить как "иначе_если", а не "иначеесли" или "ИначеЕсли" (ЕСЛИ..ТО..АЕСЛИ..ТО..ИНАЧЕ..КОН - так в Глаголе)
 +
 +
3. и, или, не, - сделать большими И, ИЛИ, НЕ - ? (И, ИЛИ, НЕ - так в Глаголе)
 +
 +
3. после получения рабочей альфа версии необходимо будет ещё раз провести ревизию синтаксиса и на читабельность на больших кусках кода
  
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! [[Lua]]  !! Зуев !! 1С !! [[LuaPLUS]]  
+
! [[Lua]]  !! Зуев !! 1С !! [[LuaRu]] !! rts256
 
|-
 
|-
| and ||  ||  || И
+
| and ||  ||  || И || и
 
|-
 
|-
| break ||  ||  || первать / выход
+
| break ||  ||  || первать / выход || стоп
 
|-
 
|-
| do ||  ||  || делать, повторять
+
| do ||  ||  || делать, повторять || начало
 
|-
 
|-
| else ||  ||  || иначе
+
| else ||  ||  || иначе || иначе
 
|-
 
|-
| elseif ||  ||  || иначеЕсли
+
| elseif ||  ||  || иначе_если || иначеесли
 
|-
 
|-
| end ||  ||  || конец
+
| end ||  ||  || конец || всё
 
|-
 
|-
| false ||  ||  || ложь
+
| false ||  ||  || ложь, нет || ложь
 
|-
 
|-
| for ||  ||  || для
+
| for ||  ||  || для || для
 
|-
 
|-
| function ||  ||  || функция
+
| function ||  ||  || функция || функция
 
|-
 
|-
| if ||  ||  || если
+
| goto ||  ||  || перейти, перейти_к || идина
 
|-
 
|-
| in ||  ||  || в
+
| if ||  ||  || если || если
 
|-
 
|-
| nill ||  ||  || пусто
+
| in ||  ||  || в || в
 
|-
 
|-
| not ||  ||  || НЕ
+
| local ||  ||  || локальная || локал
 
|-
 
|-
| or ||  ||  || ИЛИ
+
| nil ||  ||  || пусто || нуль
 
|-
 
|-
| repeat ||  ||  || повторить
+
| not ||  ||  || НЕ || не
 
|-
 
|-
| return ||  ||  || вертуться, в начало
+
| or ||  ||  || ИЛИ || или
 
|-
 
|-
| then ||  ||  || то
+
| repeat ||  ||  || повторить ||  повторять
 
|-
 
|-
| true ||  ||  || правда
+
| return ||  ||  || вертуться, в начало|| возврат
 
|-
 
|-
| until ||  ||  || покаНе
+
| then ||  ||  || то, тогда || тогда
 
|-
 
|-
| while ||  ||  || пока
+
| true ||  ||  || правда, да || истина
 +
|-
 +
| until ||  ||  || покаНе || покуда
 +
|-
 +
| while ||  ||  || пока || пока
 
|}
 
|}
  
Строка 85: Строка 116:
 
   print(i,n)
 
   print(i,n)
 
  end
 
  end
=== На LuaPlus ===
+
=== На LuaRu ===
  функция квадрат(итераторМаксКолич,текущийНомер)
+
  функция Квадрат ( целСчётчикМаксимальноеКоличество, текущийНомер )
     если текущийНомер<итераторМаксКолич
+
     если текущийНомер < целСчётчикМаксимальноеКоличество
 
     тогда
 
     тогда
       текущийНомер= текущийНомер+1
+
       текущийНомер= текущийНомер + 1
       возврат текущийНомер, текущийНомер*текущийНомер
+
       возврат текущийНомер, текущийНомер * текущийНомер
 
     конец
 
     конец
 
  конец
 
  конец
  
  для и,н в квадрат,3,0
+
  для и, н в Квадрат, 3, 0
 
  делай
 
  делай
   печать(и,н)
+
   печать(и, н)
 
  конец
 
  конец
 +
 +
== LuaRu разработка ==
 +
 +
* [[Учебник по LuaRu]]
 +
* [[LuaRu тесты]]
 +
* [[LuaRu компиляция исходников в Windows7]]
 +
** [[LuaRu компиляция исходников в Linux]] Ubuntu , [[Astra Linux]]
 +
* [[IDE для LuaRu]] подсветка синтаксиса, настройка  Notepad ++
 +
* [[Замена Lua на LuaRu в программах]]
  
 
== См. также ==
 
== См. также ==
 
* [[Lua]]
 
* [[Lua]]
 +
* [[LuaRus]]
 
* [[Языки программирования с русским синтаксисом]]
 
* [[Языки программирования с русским синтаксисом]]
 
* [[Русификация Си++]]
 
* [[Русификация Си++]]
  
 
== Ссылки ==
 
== Ссылки ==
 +
* 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++
  
 
[[Категория:Lua]]
 
[[Категория:Lua]]
 +
[[Категория:LuaRu]]

Текущая версия на 08:17, 14 марта 2024

Версия языка 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 разработка

См. также

Ссылки