eval
ret = eval(S[,Mode[,Lang]])
Данная функция соответствует описанию в Энциклопедии Far Manager, со следующими расширениями:
1. eval
может исполнять как Lua-код, так и MoonScript-код
Добавлен опциональный 3-й параметр Lang
, указывающий язык кода параметра S
в режимах 0, 1, 3. Допустимые значения: "lua"
и "moonscript"
. Значение по умолчанию – "lua"
.
2. Параметр S
может обозначать скрипт-файл
В режимах 0, 1, 3 параметр S
может обозначать скрипт-файл, если этот параметр
начинается с символа @
. В этом случае параметр S
должен иметь следующий формат:
@<имя файла-скрипта> [<параметры скрипта>]
- В имени файла допустимо использование переменных окружения.
- Опциональные параметры скрипта представляют список выражений, разделённых запятыми.
- Выражения должны использовать тот же язык программирования, что и файл-скрипт.
Пример:
eval("@%MyFarScripts%\\calc.moon 'factorial', 3+5", 0, "moonscript")
3. Новые коды, возвращаемые eval(S, 2)
0
(нормальный возврат) : дополняется значениями, возвращаемыми “запускаемым” макросом.-3
: если было выведено меню выбора макроса, и пользователь его отменил.-4
: если “запускаемый” макрос был прерван в результате ошибки времени исполнения.