Прочитайте данные перед выполнением файла lua
Я хочу прочитать таблицу внутри файла Lua перед его выполнением. Есть ли способ сделать это с loadfile
, Он возвращает только функцию, и я не могу прочитать, что находится внутри (что объявлено, но не выполнено).
Другой вариант, который я попробовал, это проверить, изменилась ли среда, но опять же я не смог прочитать внутри функции, возвращаемой loadfile()
,
Есть ли способ сделать это, не открывая файл в виде текста и поиска в таблице?
Вот пример таблицы, которую я пытаюсь получить:
--file to be loaded
local library = require("library") --random requires...
table = { author = "myself", dependencies = "library > 1.0"} --table to get before execution
1 ответ
То, что вы хотите, не возможно. В Lua нет объявлений, только исполняемые операторы. Вам нужно выполнить скрипт, чтобы увидеть, что он делает.
Однако вы можете прочитать файл как текст и попытаться извлечь нужную информацию, используя сопоставление с образцом. Это не будет надежно, но, вероятно, в большинстве случаев будет работать, если файлы будут записаны одинаково.