Перейти к основному содержимому

Вызвать функцию байт кода

Выполняет байт-код и вызывает указанную функцию

Функция ВызватьФункциюБайтКода(Знач Lua, Знач БайтКод, Знач ИмяФункции, Знач Параметры = Неопределено, Знач Пакеты = Неопределено, Знач Переменные = Неопределено) Экспорт

ПараметрCLI опцияТипОбяз.Назначение
Lua--luaПроизвольныйКомпонента Lua или версия Lua для запуска
БайтКод--codeСтрока, ДвоичныеДанныеБайт код или путь к файлу
ИмяФункции--funcСтрокаИмя функции или путь вида module.func
Параметры--paramsСоответствие Из КлючИЗначениеПараметры функции, если необходимо
Пакеты--packagesСоответствие Из КлючИЗначениеПакеты: ключ > имя, значение > код или путь к файлу
Переменные--globalsСоответствие Из КлючИЗначениеГлобальные переменные модуля, если необходимо
Возвращаемое значение

Произвольный - Результат вызова

подсказка

Аналогично раздельному вызову ВыполнитьБайтКод, ДобавитьПакетИзСтроки, УстановитьГлобальнуюПеременную и ВызватьФункцию

Параметры с типом данных Двоичные данные могут принимать также пути к файлам на диске и URL


Пример использования для 1С:Предприятие/OneScript
БайтКод = OPI_Lua.СкомпилироватьКодИзСтроки("Lua54", "function sub(a, b) return a - b end");

Параметры = Новый Массив;
Параметры.Добавить(10);
Параметры.Добавить(3);

Результат = OPI_Lua.ВызватьФункциюБайтКода("Lua54", БайтКод, "sub", Параметры);
# JSON данные также могут быть переданы как путь к файлу .json

oint lua ВызватьФункциюБайтКода \
--lua "Lua54" \
--code "/tmp/hir3biew.4dk" \
--func "mul" \
--params "['6','7']" \
--globals "{'bonus':'2'}"
Результат
7