Jack_Savage 0 Опубликовано: 13 марта, 2017 (изменено) Вот есть код и что то как то не работает. Ошибка возникает если загружаюсь с дискеты(init.lua). Если это запускать через OpenOs все норм Помогите пожалуйста. Изменено 13 марта, 2017 пользователем Jack_Savage Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
qwertyMAN 1 722 Опубликовано: 13 марта, 2017 А что ты хотел? Библиотеки которые ты подключаешь в своей программе находятся в OpenOS. По этому без её установки, они не будут подключаться и работать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Jack_Savage Автор вопроса 0 Опубликовано: 13 марта, 2017 (изменено) А что ты хотел? Библиотеки которые ты подключаешь в своей программе находятся в OpenOS. По этому без её установки, они не будут подключаться и работать. И как их подключить скажите ??? Без openOS Изменено 13 марта, 2017 пользователем Jack_Savage Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Гость Опубликовано: 13 марта, 2017 (изменено) И как их подключить скажите ??? Без openOS Они подключатся только если установлена OpenOS иначе пожалуй никак Изменено 13 марта, 2017 пользователем Гость Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
qwertyMAN 1 722 Опубликовано: 13 марта, 2017 И как их подключить скажите ??? Без openOS Ну судя по ошибки на саму функцию require, которая не была найдена. Тебе скорее всего придётся создавать эту функцию самому, так же, как она и в OpenOS создана. Но зачем нам велосипеды? Проще OpenOS использовать, чем изобретать велосипеды. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
qwertyMAN 1 722 Опубликовано: 13 марта, 2017 Они подключатся только если установлена OpenOS иначе пожалуй никак В принципе и без OpenOS может, если другие не официальные OS написаны так, что поддерживают функцию подключения библиотек. (а любая нормальная OS в ОС должна это делать обязательно) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 154 Опубликовано: 13 марта, 2017 Вот есть код и что то как то не работает. Ошибка возникает если загружаюсь с дискеты(init.lua). Если это запускать через OpenOs все норм Помогите пожалуйста. вот здесь @Totoro доступно объяснил, что делать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Гость Опубликовано: 13 марта, 2017 В принципе и без OpenOS может, если другие не официальные OS написаны так, что поддерживают функцию подключения библиотек. (а любая нормальная OS в ОС должна это делать обязательно) Думаю вряд ли это сейчас нужно автору вопроса. Но всё же с "иначе пожалуй никак" я поспешил в ответе) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Jack_Savage Автор вопроса 0 Опубликовано: 13 марта, 2017 Ну судя по ошибки на саму функцию require, которая не была найдена. Тебе скорее всего придётся создавать эту функцию самому, так же, как она и в OpenOS создана. Но зачем нам велосипеды? Проще OpenOS использовать, чем изобретать велосипеды. require('computer') работает. А это нет.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro 3 563 Опубликовано: 13 марта, 2017 Я хз как именно ты его стартуешь, но судя по всему, эта хрень у тебя запускается ДО того как загружена OpenOS. Функцию require задаёт именно OpenOS, поэтому очевидно программа не может её найти и крашится. Почему же работают первые строки, спросишь ты? А это происходит по двум причинам. Во-первых, компьютеру всегда и везде доступны глобальные объекты computer и components. Их можно использовать даже из EEPROM. Во вторых, конструкции типа A or B вычисляются лениво. Это значит, что если компьютер рассчитал левую половину выражения (A) и она "истинна", то он не будет считать правую половину. Потому что true or <что-то> всегда даст "истину", и считать вторую половину смысла никакого нет, т.к. на неё пофиг. Поэтому, несмотря на то что в правой половине ты вызываешь несуществующую функцию require, компьютер не кидает ошибку - он даже не пытался выполнить этот вызов. А вот на третьей строке, левая половина (event) оказывается "ложной", потому что глобального объекта event не существует. Компьютер пробует рассчитать правую половину выражения, и сталкивается с тем, что у тебя там идет вызов несуществующей функции. 3 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Jack_Savage Автор вопроса 0 Опубликовано: 13 марта, 2017 (изменено) Я хз как именно ты его стартуешь, но судя по всему, эта хрень у тебя запускается ДО того как загружена OpenOS. Я запускаю это без OS. Это файл init.lua на дискете. И загружаюсь с дискеты. Изменено 13 марта, 2017 пользователем Jack_Savage Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro 3 563 Опубликовано: 13 марта, 2017 У тебя вставлен Lua BIOS, да? Он как раз ищет и запускает init.lua как раз. Поскольку OpenOS недоступна, тебе придётся обходиться без неё. =) Можешь надрать нужного контента и засунуть на ту же дискету (например ту же функцию require). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Jack_Savage Автор вопроса 0 Опубликовано: 13 марта, 2017 У тебя вставлен Lua BIOS, да? Он как раз ищет и запускает init.lua как раз. Поскольку OpenOS недоступна, тебе придётся обходиться без неё. =) Можешь надрать нужного контента и засунуть на ту же дискету (например ту же функцию require). Простите за наглость... Как сделать эту функцию то ?) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro 3 563 Опубликовано: 13 марта, 2017 Ну, придумать самому, или реквизировать вот отсюда. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Jack_Savage Автор вопроса 0 Опубликовано: 13 марта, 2017 Ну, придумать самому, или реквизировать вот отсюда. Спасибо Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 154 Опубликовано: 13 марта, 2017 Как сделать эту функцию то ?)А зачем её делать? Ты либо запускаешь программу по окончании полной загрузки системы, которая обеспечивает все её возможности, либо пользуешься ограниченными возможностями, самостоятельно реализуя функции библиотек системы. Либо пишешь свою систему со всякими require и прочими функциями. Последний путь самый сложный, его уже многие мечтали пройти, да никто пока не прошёл. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro 3 563 Опубликовано: 13 марта, 2017 ... Либо пишешь свою систему со всякими require и прочими функциями. Последний путь самый сложный, его уже многие мечтали пройти, да никто пока не прошёл. Тому есть пять причин. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Jack_Savage Автор вопроса 0 Опубликовано: 14 марта, 2017 (изменено) А зачем её делать? Ты либо запускаешь программу по окончании полной загрузки системы, которая обеспечивает все её возможности, либо пользуешься ограниченными возможностями, самостоятельно реализуя функции библиотек системы. Либо пишешь свою систему со всякими require и прочими функциями. Последний путь самый сложный, его уже многие мечтали пройти, да никто пока не прошёл. 2 вариант) Ну спасибо за ту функцию :3 Изменено 14 марта, 2017 пользователем Jack_Savage Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Laine_prikol 48 Опубликовано: 2 мая, 2017 (изменено) Ну, придумать самому, или реквизировать вот отсюда. Ух ты, там оказывается в этой функции можно ставить какие либы будут загружается при запуске OpenOS Изменено 2 мая, 2017 пользователем Laine_prikol Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Вот есть код и что то как то не работает.
Ошибка возникает если загружаюсь с дискеты(init.lua).
Если это запускать через OpenOs все норм
Помогите пожалуйста.
Изменено пользователем Jack_Savage
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах