Для более близкого знакомства рекомендую эти документы:
Programming in Lua, автор — Roberto Ierusalimschy, один из создателей языка.
Рекомендуется второе издание (на сайте бесплатно выложено первое, частично есть и русский перевод: web, chm).
Справочное руководство по языку Lua 5.1: manual (на русском: web, chm).
gotar wrote: ↑Tue 24 May, 2022 15:38
Как правильно писать?
Проблема в том, что luafar3 не поддерживает передачу цветовых индексов строками, а только числами.
luafar2l - поддерживает, и ваш код там бы сработал.
Для Фар3 надо писать: color = actl.GetColor(far.Colors.COL_EDITORTEXT)
В package.path указан, в частности, такой элемент: …;.\?.lua;…. А что есть в момент загрузки модулей текущая папка? А то там точка, а где это - я не понял … Или зависит от контекста (предыдущих действий)?
Есть ли возможность загрузить модуль из файла не .lua (.moon) и не *.dll ? Я имею в виду - без добавления функции в package.loaders и package.Path.
Поясню. Есть мысль хранить модули в той же папке, где и макросы. НО! Если они будут с расширением lua или moon, то они будут выполняться во время загрузки макросов.
Last edited by buniak_a_h on Fri 01 Jul, 2022 12:57, edited 1 time in total.
Да, в Фар3 это ненадёжный элемент, зависит от контекста.
Возможность есть, причём разными способами.
Один из способов - функция dofile. Так сделано здесь. Другой способ - добавление нового расширения в package.path.
В far2l подумываю о том, чтобы lua и moon-файлы, начинающиеся с подчёркивания, не загружались автоматически.
Last edited by Shmuel on Fri 01 Jul, 2022 13:36, edited 1 time in total.
gotar wrote: ↑Sat 13 Aug, 2022 12:48
Есть ли в Lua возможность сохранить хэштаблицу в виде текстового файла, и позже восстановить эту хэштаблицу в оперативной памяти из этого файла?
Для этого существуют библиотеки сериализации. В том числе в Фаре (mf.serialize / mf.deserialize).