Перейти к содержимому
  • 0
FrideakisAB

Пространство env

Вопрос

Как указать env в loadfile()?

Изменено пользователем FrideakisAB

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендуемые сообщения

local PATH = "/home/test.lua"
local env = {}
for k, v in pairs(_G) do
  env[k] = v
end
env.test = function()
  print("HELLO, world")
end
local chunk, reason = loadfile(PATH, "t", env)
if not chunk then
  error("Couldn't load file: " .. tostring(reason))
end
local value = chunk()
print("Script returned: " .. tostring(value))

Файл /home/test.lua

test()
return 42

При запуске первого скрипта получим:

HELLO, world
Script returned: 42

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах


script, reason = loadfile(filename, mode, env)

 

Изменено пользователем Zer0Galaxy

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

script, reason = loadfile(filename, mode, env)

 

Не приведи пример пожалуйста.

Изменено пользователем FrideakisAB

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...