Редактор для LUA
Для участия в обсуждениях и оформления подписки на новые сообщения форума вам необходимо зарегистрироваться.
Страницы: 1
Cообщений на странице:
Редактор для LUA
Пользователь
Сообщений: 806 Регистрация: 27.01.2017
02.01.2022 14:36:18
Или IntelliJ IDEA + EmmyLua
Дело вкуса. Но idea тормоз, особенно при глобальном поиске.
Пользователь
Сообщений: 49 Регистрация: 19.10.2015
02.01.2022 14:49:41
| Цитата |
|---|
| Nikolay написал: visual stidio code + plugins: |
Огромное спасибо! То что нужно!
Пользователь
Сообщений: 50 Регистрация: 17.11.2021
12.01.2022 20:16:59
А как сделать, чтобы в visual stidio code кириллица нормально отображалась? А то у меня ромбики вместо букв.
Пользователь
Сообщений: 694 Регистрация: 07.12.2020
12.01.2022 21:29:22
| Цитата |
|---|
| Вася написал: А как сделать, чтобы в visual stidio code кириллица нормально отображалась? А то у меня ромбики вместо букв. |
Лучше используй Notepad
Пользователь
Сообщений: 806 Регистрация: 27.01.2017
13.01.2022 09:34:13
| Цитата |
|---|
| Вася написал: А как сделать, чтобы в visual stidio code кириллица нормально отображалась? А то у меня ромбики вместо букв. |
Установить в настройках кодировку по умолчанию win1251.
Можно только для рабочей зоны, можно доля всех файлов lua. По желанию.
«[lua]»: < "files.encoding": "windows1251" >, «[plaintext]»: < "files.encoding": "windows1251" >, «[log]»:
Пользователь
Сообщений: 806 Регистрация: 27.01.2017
13.01.2022 09:36:52
| Цитата |
|---|
| Лучше используй Notepad |
Очень спорное утверждение. Почему не Vim или Emacs?
Notepad++?, если речь про него, хорош если быстренько открыть водном файле, посмотреть, закрыть.
Пользователь
Сообщений: 50 Регистрация: 17.11.2021
13.01.2022 12:18:15
А ZeroBrane как? Норм редактор?
Пользователь
Сообщений: 806 Регистрация: 27.01.2017
13.01.2022 13:45:02
| Цитата |
|---|
| Вася написал: А ZeroBrane как? Норм редактор? |
Он не поддерживает кодировку Win1251. Квик же в 2022 только ее понимает.
Правда для ZeroBrane можно скрипт на том же lua для перекодировки при открытия файла настроить. Но это не лучший вариант. Часто файлы потом не открываются вообще.
Пользователь
Сообщений: 694 Регистрация: 07.12.2020
13.01.2022 16:44:21
| Цитата |
|---|
| Лучше используй Notepad |
Это проверенная временем программа, полностью устраивает, есть дополнительные функции, просто удобно. Многие смотрел, для Lua самое то
Пользователь
Сообщений: 87 Регистрация: 04.10.2021
13.01.2022 20:32:47
Пользователь
Сообщений: 50 Регистрация: 17.11.2021
13.01.2022 21:27:48
Я установил visual stidio code + plugins:
Написал простой код, нажимаю F5 и вылезает ошибка: The ‘cwd’ can not be resolved in a multi folder workspace. Solution: «cwd»: «$»
Подскажите, плиз, как это исправить.
Пользователь
Сообщений: 1886 Регистрация: 25.09.2020
13.01.2022 22:33:49
Здесь уже советовали пользоваться блокнотом — его ещё не успели основательно изуродовать, хотя и он всё чаще норовит писать в юникоде. Лично я много лет пользуюсь встроенным редактором Far Manager и примерно столько же лет ничего лучшего просто не ищу. Он даже подсвечивает переменные, открывающие и закрывающие скобки (в т.ч. операторные), если файл имеет расширение .lua, но это мелочь. А вот то, что там макросы есть.
Пользователь
Сообщений: 3129 Регистрация: 30.01.2015
14.01.2022 06:55:27
SciTe — написан на луа, есть встроенный компилятор и отладчик
Пользователь
Сообщений: 50 Регистрация: 17.11.2021
14.01.2022 07:22:47
| Цитата |
|---|
| nikolz написал: SciTe — написан на луа, есть встроенный компилятор и отладчик |
От SciTe у меня лично глаза болят. Слишком контрастные цвета (я темную тему поставил). А в настройках я так и не смог найти как изменить цветовое оформление.
Пользователь
Сообщений: 1886 Регистрация: 25.09.2020
14.01.2022 09:35:05
| Цитата |
|---|
| SciTe — написан на луа, есть встроенный компилятор и отладчик |
![]()
Убийственная характеристика редактору! Лучше помню только фразу Кернигана из статьи «Почему Паскаль не является моим любимым языком программирования»: «Три из четырёх известных мне компиляторов с Паскаля написаны на Си».
Пользователь
Сообщений: 3129 Регистрация: 30.01.2015
14.01.2022 11:17:44
| Цитата |
|---|
| SciTe — написан на луа, есть встроенный компилятор и отладчик |
Видно, что Вы не в теме.
У Вас получается типа — «кина не видел, но считаю , что говно»
—————————
На луа написан не только редактор но и многие игры а также системы управления нефтяным оборудованием и приборами (Собственно для этого его и создавали изначально).
——————
Так как SciTe написан на луа, то пользователь может легко добавить свои плюшки и быть до . счастливым и радостным.
Пользователь
Сообщений: 3129 Регистрация: 30.01.2015
14.01.2022 11:21:44
| Цитата |
|---|
| SciTe — написан на луа, есть встроенный компилятор и отладчик |
специально для Вас из Вики:
———————————
По идеологии и реализации язык Lua ближе всего к JavaScript , в частности, он также реализует прототипную модель ООП , но отличается паскалеподобным синтаксисом и более мощными и гибкими конструкциями. Характерной особенностью Lua является реализация большого числа программных сущностей минимумом синтаксических средств. Так, все составные пользовательские типы данных ( массивы , структуры , множества , очереди , списки ) реализуются через механизм таблиц, а механизмы объектно-ориентированного программирования , включая множественное наследование — с использованием метатаблиц, которые также отвечают за перегрузку операций и ряд других возможностей.
Lua предназначен для пользователей, не являющихся профессиональными программистами, вследствие чего большое внимание уделено простоте дизайна и лёгкости обучения. Язык широко используется для создания тиражируемого программного обеспечения (например, на нём написан графический интерфейс пакета Adobe Lightroom ). Также получил известность как язык программирования уровней и расширений во многих играх (в том числе Garry’s Mod ) [10] .
Пользователь
Сообщений: 1886 Регистрация: 25.09.2020
14.01.2022 12:10:55
![]()
nikolz, Да на кой мне Вики, если я сам на нём больше года программирую? И я уже несколько раз говорил, что я чуть ли не единственный на этом форуме, кто программирует на чистом Lua, так что это ВЫ «не в теме», это У ВАС получается типа — «кина не видел, но считаю, что конфетка». Мне плевать, что там «на луа написано» и для чего его и «создавали изначально», язык — ГОВНО! Редкостное говно! Динамическая типизация, убийство типа integer, кастрированный goto. ЧАВО?! Она по сравнению с JS «отличается более мощными и гибкими конструкциями»?! Это какими ж такими? Огласите весь список, пжалста!
Не «реализация большого числа программных сущностей минимумом синтаксических средств», а эмуляция этих сущностей через жо. через механизм key-value, который с какого-то бодуна регулярно обзывают «таблицами». Вот что «Lua предназначен для пользователей, не являющихся профессиональными программистами» — верю безоговорочно: ни один программист ТАКОГО говна написать не в состоянии! Ах, да — я ведь чуть ли не сразу после появления на этом форуме писал:
29.09.2020 10:31:16
Убрать тип integer из языка, на мой взгляд, есть самая большая дурость. Ладно, бог с ним, с никому не нужным boolean — пусть будет, если нравится, но с целочисленными переменными я за долгие годы программирования (а я уже пенсионер!) работал раз в 10 чаще, чем с вещественными! Если не во все сто.
Ну вот, по Вашей ссылке, первым же предложением: «Tables in Lua are not a data structure; they are the data structure. All structures that other languages offer—arrays, records, lists, queues, sets—are represented with tables in Lua». Иными словами, никаких структур данных просто НЕТ! Печально. А уж «обоснование» и вообще курам на смех: «Хотя мы МОЖЕМ (!) реализовать массивы и списки, таблицы мощнее. Многие алгоритмы упрощаются до тривиальности с использованием таблиц» . И дальше вообще издевательство: «Например, вы редко пишете поиск в Lua, потому что таблицы предлагают прямой (. ) доступ к любому типу» . Ребятки, доступ по ключу — это не прямой, а как раз КРИВОЙ доступ к данным! Даже если обозвать ключи «индексами». Уши бы надрать этому «Роберто Иерусалимскому!
В общем, с языком почти всё ясно: граф (точнее, дерево) объектов построить можно, а простейшую таблицу или даже массив — нельзя. Остаётся разобраться со строковыми переменными: способна ли эта loadstring интерпретировать строки как операторы языка (или, скажем, функции), то есть имеется ли здесь техническая возможность программирования данными.
Или, скажем, 25.03.2021 12:28:31
Какие «индексируемые таблицы» — побойтесь Бога! Мне чуть ли не с первого дня стало очевидно, что тут постоянно путают индексы и имена, что является источником многочисленных глюков — в том числе, и в основном ПО Квика (таблица заявок, я об этом не раз писал). Язык отвратителен, и только за убийство типа integer и замену его на вонючий «тип number» создателей нельзя подпускать к компу ближе, чем на километр — об этом и о многом другом я тоже писал. Как и о том, что синтаксис, про который Вы здесь соловьём заливаетесь, вообще не имеет значения — профессионалу всё равно, на каком языке писать, была бы обеспечена требуемая функциональность.
Для справки: все эти «далеко ушедшие вперёд» неучи, которыми написана заметка в Вики, на которую здесь давалась ссылка, всё-таки в курсе, что элементы строки не обязательно байты, но, судя по всему, ВААПЩЕ без понятия, что строки могут быть НЕ ТОЛЬКО текстом, что это именно АЛГОРИТМИЧЕСКОЕ понятие (и пофиг какая у них конкретная реализация): строки событий или, скажем, мультиязычные строки для них тайна за семью печатями. Или что тривиальная буферизация файловых операций даже при работе с текстовыми файлами читает и пишет, с точки зрения прикладника, именно строками, а обмен с диском при этом происходит массивами (секторами или там кластерами).
Строки НЕЛЬЗЯ «индексировать как таблицы», какие бы не делать «финты ушами»: индекс — это НЕ имя, и об этом я тоже писал буквально в первых же своих постах (а Ваш убогий «финт ушами» эмулирует обращение по индексу как массива, а не «как таблицы», и абсолютно бесполезен — разве что для пущего оверхеда).
Пользователь
Сообщений: 191 Регистрация: 14.10.2021
15.01.2022 03:41:15
| Цитата |
|---|
| Вася написал: А как сделать, чтобы в visual stidio code кириллица нормально отображалась? А то у меня ромбики вместо букв. |
это тот самый Notepad который каждый раз перед его использованием просит его снова переустановить ? Ну тогда лучше остатья пользователем старенького и известного всем блокгнота — нервы целее будут чем при использовании вашего Notepad
Пользователь
Сообщений: 3129 Регистрация: 30.01.2015
15.01.2022 07:47:51
Не «реализация большого числа программных сущностей минимумом синтаксических средств», а эмуляция этих сущностей через жо. через механизм key-value, который с какого-то бодуна регулярно обзывают «таблицами».
29.09.2020 10:31:16
Убрать тип integer из языка, на мой взгляд, есть самая большая дурость. Ладно, бог с ним, с никому не нужным boolean — пусть будет, если нравится, но с целочисленными переменными я за долгие годы программирования (а я уже пенсионер!) работал раз в 10 чаще, чем с вещественными! Если не во все сто.
Ребятки, доступ по ключу — это не прямой, а как раз КРИВОЙ доступ к данным! Даже если обозвать ключи «индексами». Уши бы надрать этому «Роберто Иерусалимскому!
Какие «индексируемые таблицы» — побойтесь Бога! Мне чуть ли не с первого дня стало очевидно, что тут постоянно путают индексы и имена, что является источником многочисленных глюков — в том числе, и в основном ПО Квика (таблица заявок, я об этом не раз писал). Язык отвратителен, и только за убийство типа integer и замену его на вонючий «тип number» создателей нельзя подпускать к компу ближе, чем на километр — об этом и о многом другом я тоже писал. Как и о том, что синтаксис, про который Вы здесь соловьём заливаетесь, вообще не имеет значения — профессионалу всё равно, на каком языке писать, была бы обеспечена требуемая функциональность.
Попробую объяснить Ваши заблуждения, но скорее не для Вас, а для начинающих.
——————————
1) Луа — это скриптовый язык и он имеет вполне определенною область применения.
Подобно микроскопу, который можно применять и в качестве молотка для забивания гвоздей, но не так эффективно.
—————————
Назначение чистого луа — это быстрое и простое тестирование идей и алгоритмов, создание диалоговых интерфейсов для устройств и программ.
Т е чистый луа -это инструмент для быстрой разработки программ взаимодействия компьютера и человека.
——————————
Все функции в библиотеках Луа написаны на чистом СИ, поэтому они работаю быстро.
——————————-
Для реализации более сложных и быстродействующих задач предназначен язык СИ и API C for Lua.
===================
Создание торговых роботов в КВИК — это задача создания систем реального времени.
В реализации этой системы условно можно выделить три задачи.
———————-
1 задача, это интерфейс с человеком. И эту задачу легко и эффективно решать на чистом Луа.
————————
2 задача, это задача взаимодействие робота с биржей , сервером брокера и терминалом QUIK.
Эту задачу разработчики реализовали на СИ в виде библиотеки QLUA. т е программ на чистом СИ взаимодействующие с VM Lua через API C for Lua.
————————
3 задача, это разработка и реализация алгоритма работы робота.
Не сложно понять, что наиболее эффективно этот алгоритм можно реализовать лишь на СИ, т е как задачу 2.
Но дело в том, что пользователи Луа не есть профессиональные программисты.
Но Луа позволяет им тоже заняться творчеством и написать собственные, пусть и не оптимально реализованные алгоритмы.
———————
Поэтому ранее я Вам пытался объяснить, что на чистом луа сложные алгоритмы пишут, либо профи для быстрой реализации идеи, чтобы ее протестить,
либо чайники , которые горды собственным невежеством и не сомневаются в собственной гениальности.
================
Теперь объясню немного Ваши заблуждения относительно реализации Луа внутри.
Судя по Вашим гневным рассуждениям, Вы не разбирались в исходниках VM Lua.
——————————
Все переменные (кроме данных в таблицах) имеют именно прямой доступ. Они представляют собой структуры
В этой структуре есть 32 бит (или 64 бит) слово, которое содержит целую, вещественную, булев. переменные. а также указатель на таблицу или функцию.
Если Вы используете API C for Lua, то Вы получаете прямой доступ к ним.
Замечу, что указатель — это и есть любимое Вами целое.
—————
Но для чайников эти возможности, по вполне понятным причинам, недоступны на чистом Луа. Доступ чайникам к целому типу в версиях 5.3 создало кучу вопросов на этом форуме.
Так как чайник не читает документации — потому что он чайник .
———————-
Теперь про Выши гневные опусы о строках текста.
В луа строки текста заменяются изначально на их хеш — 32(64) любимое Вами целое число .
А далее, во всей вашей программе , где вам надо сравнивать сортировать строки, участвуют не строки, а эти числа. Т е обработка строк происходит также быстро как обработка целых чисел.
Ну и где Вы видели более компактное и эффективное решение?
————————
В итоге, если вы присвоите элементу таблицы имя , то луа сделает для него целое число- хэш и далее для извлечения этого элемента будет использовать это целое как индекс в массиве.
====================
Не буду более рассказывать об интересных и эффективных решениях в VM Lua. Кому интересно, читайте исходники.
==========================
В результате — Луа самый компактный и быстрый из скриптовых языков. Его легко встраивать в любые системы, в том числе и на одном чипе.
Конечно, есть множество языков программирования и каждый из них создавался для определенных задач и имеет определенную область эффективного применения.
=========================
И в завершение моего ликбеза, замечу, что в КВИК встроили луа именно для расширения интерфейса для пользователя, а не для создания торговых роботов.
————————
Поэтому не стоит на зеркало пенять.
Lua скрипты

Lua скрипты могут быть встроенными в ПО ТМИУС (ТМ-сервер) и добавленными пользователями.
На роутерах iRZ R2 встроенные скрипты располагаются в папках
/usr/share/tm_cpps/luascript
Скрипты пользователя располагаются по пути
/opt/storage/files/tm_cpps/luauser/
В Windows версии скрипты располагаются в каталогах корневой папки ТМ-сервера
\luascript \luauser
Логика работы lua-скрипта
Описание и и примеры работы lua скриптов описана в файлах ниже:
TmsREADME.lua — краткая справка описания работы LUA скриптов
TmsParsToDB.lua — скрипт сохраняет сигналы (числа) и Rawdata (строки) в БД sqlite
tmsParsToJson.lua — cкрипт сохраняет сигналы (числа) и Rawdata (строки) в файл формата json
Порядок работы с Lua скриптами
Создание
- Разместить пустой или готовый Lua скрипт в папке пользовательских скриптов, добавить скрипту права 666
- В разделе передачи добавить папку для более удобной организации работы со скриптами
- Добавить во вновь созданной папке «lua источник», указать имя источника.
- На lua источнике нажать ПКМ (правой кнопкой мыши) и выбрать Редактор lua. Произвести редактирование файла и сохранить под необходимым наименованием.
- Добавить в папку lua скрипт и выбрать в имени источника вновь созданный файл в качестве источника указать «имя источника» из п.3
Редактирование
- Отредактировать текст в текстовом редакторе, перезапустить ТМ-сервер из консоли или через Веб-интерфейс.
- На lua источнике нажать ПКМ (правой кнопкой мыши) и выбрать Редактор lua
- Произвести необходимые правки, нажать Сохранить, нажать Применить.
Отладка
- В поле конфигурирования lua скрипта Выбрать Лог → Да,Лог-уровень → выбрать необходимый. Применить конфигурацию.
- На lua скрипте нажать ПКМ (правой кнопкой мыши) и выбрать Смотреть лог файл
Примеры реализаций протоколов на базе Lua
| Протокол | Описание | Файл |
|---|---|---|
| Modbus RTU | Прием данных по протоколу Modbus RTU | Conf.xml |
| СЭТ4 | Счетчики СЭТ4 | Conf.xml |
| Протокол Энергомера, Нева (IEC 61107) | Универсальный протокол для счетчиков Энергомера, Нева и многих других | Conf.xml |
| SNMP (клиент) | Возможность отправки данных по протоколу SNMP | lua, conf.xml |
Редактирование LUA кода
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно.
Вам необходимо обновить браузер или попробовать использовать другой.
Статус В этой теме нельзя размещать новые ответы.
gundir54
Новичок
Автор темы
Всем привет, помогите пожалуйста, мне нужно изменить lua скрипт. Суть такова: Мне надо чтобы данный LUA все время показывал XYZ координаты туда куда я смотрю, вместо этого он показывает координаты обьекта или транспорта на который я навожусь, пример:
if text_target ~= «NO TARGET» then
local text3 = string.format(«SIGHT POS X: %s Y: %s Z: %s», math.round(sight_posX, 1), math.round(sight_posY, 1), math.round(sight_posZ, 1))
setText(test_text3[7], RusToGame(u8:decode(text3)), config.pos.info.x, config.pos.info.y+10, 0.2, 1.1, 2, 1, ‘0xFFFFFFFF’, 0.5, 0x15000000, 500, 500, false, true, true)
Чем редактировать код LUA ?
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Подписчики 0
Полезные ресурсы
Lua
Голосование
Информация
О нас
Проект ComputerCraft.ru основан в 2014 году. Особенностью наших игровых серверов является обязательное наличие компьютерных и технических модов и аддонов. Когда мод ComputerCraft устарел и больше не отвечал техническим требованиям, ему на замену пришел современный и высокотехнологичный мод OpenComputers. Черепашек заменили роботы из мода Opencomputers. ComputerCraft.ru — это площадка для игры в Minecraft и общения на форуме, стабильные серверы и возможность в легкой и игровой форме обучиться программированию на языке Lua и реализовать все свои самые смелые инженерные идеи и решения и поделиться ими с другими игроками. За все время существования проекта сменилось 10 игровых серверов, которые посетили более 9000 игроков. На сайте собрано множество интересных программ и библиотек, статей, гайдов, веселых историй и горячих обсуждений, выдвинуто множество идей автоматизации и способов программирования. У нас играют и пишут программы как новички так и опытные программисты. А самые продвинутые участники нашего коллектива даже разрабатывают собственные авторские моды и аддоны, ресурспаки, репозитории, мощнейшие библиотеки и операционные системы. Регистрируйтесь прямо сейчас и присоединяйтесь к нашему дружному коллективу фанатов игры Minecraft , компьютерных и инженерных модов!