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

Диски, loadfile.

Вопрос

Есть loadfile(path, mode, env) как указать патч на определенном диске (не openos, уровень bios)?

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


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

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

А как load задать окружение, и как ей пользоваться?

1) Создаешь каким либо образом строку, содержащую луа-код

script="a=1 b=2 print(a+b+с)"

2) создаешь окружение выполнения этого кода. Окружение это просто таблица с функциями и переменными, которые могут быть использованы твоим луа-кодом. В примере строчкой выше неопределенными являются функция print и переменная c. Определим их в окружении.

env={}
env.c=3
env.print=print 

Если окружение оставить пустым (равняется nil), будет использовано глобальное окружение. Т.е. твоему коду будут доступны все определенные на данный момент глобальные функции и переменные.

 

3) вызываешь функцию load

code, reason = load(script, "", "", env) 

Первым параметром передаешь сам код, последним - окружение. Второй параметр используется для формирования сообщения об ошибке, если такая будет. Третий, даже не знаю. Я оставляю его пустым.

Первое возвращаемое значение - функция, исполняющая код. Если оно равно nil, значит на этапе компиляции возникла ошибка. Сообщение об ошибке содержится во втором возвращаемом значении.

 

4) проверяешь результат компиляции и выполняешь скомпилированный код

if code then
  result=code()
else
  print(reason)
end

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


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

А функция loadfile разве доступна с EEPROM?
Там вроде только load.

А файловой системой тебе придётся пользоваться через компонент filesystem (http://ocdoc.cil.li/component:filesystem).

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


Ссылка на сообщение
Поделиться на других сайтах
А функция loadfile разве доступна с EEPROM?

Там вроде только load.

А файловой системой тебе придётся пользоваться через компонент filesystem (http://ocdoc.cil.li/component:filesystem).

 

Я уже узнал, спасибо.

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


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

А функция loadfile разве доступна с EEPROM?

Там вроде только load.

А файловой системой тебе придётся пользоваться через компонент filesystem (http://ocdoc.cil.li/component:filesystem).

А как load задать окружение, и как ей пользоваться?

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


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

А как load задать окружение, и как ей пользоваться?

load (chunk [, chunkname [, mode [, env]]])

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


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

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

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

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

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

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

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

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

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


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