Zucker
-
Публикации
44 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные пользователем Zucker
-
-
Я не пойму, как на экране напечатали квадратики, если использовать API GPU то печатает прямоугольник. (квадратики на которых рисуешь)
-
Это максимальное время ожидания события. Оно указывается при вызове функций computer.pullSignal, os.sleep или event.pull
А каким образом оно передает. Как я понял когда "сопрограмма" выполняет os.sleep(), то она каким-то образом переходит в другую программу, но как она передает _timeout ?
Имел ввиду, что при вызове computer.pullSignal, os.sleep(), event.pull что происходит дальше?
-
В исходном коде я не могу понять, откуда " _timeout " взялось (берется), кто его присваивает или я что-то упустил?
-
Он теперь там не живет, а живет по другому адресу. В новой версии (вчерашней) уже обновили зависимости
Где же его найти?
-
-
Анализ библиотеки process.lua показал (по крайней мере мне), что при вызове функции process.load создается новая сопрограмма, тело которой берется из указанного файла. Создается, но не запускается. Чтобы эта сопрограмма работала, основная программа должна обмениваться с ней событиями при помощи функций coroutin.resume и coroutine.yield, каковых я в библиотеке не обнаружил.
По поводу того, сможет ли сопрограмма выводить на экран или делать что еще. Всё зависит от того, что ей разрешить в окружении. Если в окружении будет указано {term=term}, то наверное сможет выводить на экран.
Но, как сказал Фингер, это похоже системная либа и прикладного применения, скорее всего не найдет.
Спасибо, класс.
-
Как я понял, API может быть нужна для какой-то мультифайловой программе, где какой-то основной скрипт вызывает другой в отдельном окружении, который будет выполняться отдельно от программы. То бишь, это создание ещё одного потока из совершенно другого файла, если говорить попроще. Если же необходимо в моно-файле организовать мультипоточность, рекомендую воспользоваться библиотекой thread от уважаемого @Zer0Galaxy: http://computercraft.ru/topic/634-mnogopotochnost-v-opencomputers/
Отлично. Но что он будет деалть когда его запустит в отдельном окружении. Сможет ли вывести на тот же экран новый запущенный процесс?
-
Можешь запустить и проверить,надо к этому привыкать.
Моя цель узнать подробно действи API, что она может, потому что я не совсем могу понять. Он выводит номер процесса и все. После этого тишина.
-
Есть библиотека Threads где-то на сайте - не парься и воспользуйся ей.
Да, но для чего-то она сделана) хочу подробно узнать, в интренете нет ничего кроме пояснения в API
-
Мне понравился этот сайт за очень точные ответы и решил задать еще один вопрос, на который я не в состоянии ответить.
В OpenComputers есть библиотека Process API, можно ли ей воспользоваться для одновременной работы нескольких программ?
-
hello=require("hello") hello.set()Только, если поменялся текст файла hello.lua, необходимо перегрузить компьютер (ОС-компьютер, не реальный) ибо ранее загружавшаяся библиотека второй раз не загружается, а берется из ОЗУ.
Спасибо, Отличный ответ! Очень быстро и точно.
-
Буду очень рад если найду решение тут, потому-что даже некуда идти.
Вопрос:
Как запустьить функцию из программы hello.lua в программе test?
У меня есть косенькое решение и оно не правильно работает.
---- world----
local hello = require("hello");
hello.set() -- hello(), set()
---------------
----hello.lua----
function hello.set()
print("Hello");
end;
--или--
function set()
print("Hello");
end;
------------------
При запуске программы "world" пишет:
attemp to index local "hello" (a boolean value)
Если прописать так: print(hello.set()); в итоге все тоже самое, но когда провисываю так: print(hello); он пишет: true.
API примерно по этой системе производят действия, но видать из моей программы они это делают иначе. Кто может помочь?

Hologram Editor [OpenComputers]
в Графика
Опубликовано:
Супер. Спасибо!