FrideakisAB 5 Опубликовано: 30 августа, 2017 Есть loadfile(path, mode, env) как указать патч на определенном диске (не openos, уровень bios)? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy 2 187 Опубликовано: 31 августа, 2017 А как 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 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro 3 563 Опубликовано: 30 августа, 2017 А функция loadfile разве доступна с EEPROM?Там вроде только load. А файловой системой тебе придётся пользоваться через компонент filesystem (http://ocdoc.cil.li/component:filesystem). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
FrideakisAB Автор вопроса 5 Опубликовано: 30 августа, 2017 А функция loadfile разве доступна с EEPROM?Там вроде только load. А файловой системой тебе придётся пользоваться через компонент filesystem (http://ocdoc.cil.li/component:filesystem). Я уже узнал, спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
FrideakisAB Автор вопроса 5 Опубликовано: 30 августа, 2017 А функция loadfile разве доступна с EEPROM? Там вроде только load. А файловой системой тебе придётся пользоваться через компонент filesystem (http://ocdoc.cil.li/component:filesystem). А как load задать окружение, и как ей пользоваться? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
FrideakisAB Автор вопроса 5 Опубликовано: 30 августа, 2017 А как load задать окружение, и как ей пользоваться? load (chunk [, chunkname [, mode [, env]]]) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Есть loadfile(path, mode, env) как указать патч на определенном диске (не openos, уровень bios)?
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах