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

swg2you

Пользователи
  • Публикации

    219
  • Зарегистрирован

  • Посещение

  • Победитель дней

    20

Все публикации пользователя swg2you

  1. Я их путаю. Если компьютер крафт то http://www.computercraft.info/wiki/Main_Page, и доки по луа соответствующей версии.
  2. Отличия: http://ocdoc.cil.li/api:non-standard-lua-libs Языка Lua: http://www.lua.org/manual/5.2/manual.html В моде: http://ocdoc.cil.li/
  3. Меня смущает название темы. "Система визуального программирования" это немного другая штука. "Редактор форм" - больше подходит
  4. Все там есть ) Это фрагмент функции же. Перебираем пока файл не откроется, как открылся - обрабатываем и выходим по return Компоненты сортируются рандомно. И если у тебя в компьютере установлен только один жесткий диск, то В 50% случаев ты будешь попадать на /tmp файловую систему в 64 килобайта, и удивляться, почему не хватило места для записи. Опять же это предположение, я не исследовал файловые системы роботов. И не знаю есть ли там temp fs
  5. Насколько я понял, в библиотеке GUI подразумевается только динамическое создание форм внутри кода программы. Без возможности подгрузки/сохранения файла параметров формы? Если это так, то было бы логичным добавить в библиотеку что-то вроде loadForm/SaveForm, чтобы иметь возможность статические параметры формы (цвета/размеры/флаги) хранить в отдельном файле и подгружать при необходимости. А в программе пользователя оставить только логику формы.
  6. Поменять eeprom - как вариант решения, вполне хорош. Искать нужно перебирая все файловые системы. Фрагмент кода bibi ... for addr in component.list("filesystem") do -- для каждого компонента filesystem local fs=component.proxy(addr) -- получаем прокси local h=fs.open(f) -- пробуем открыть файл if h then --если открылся --работаем ... fs.close(h) return s,f --и выходим end end ... "только 1 диск будет" - Не думаю. Там еще, как минимум, файловая система временного диска должна присутствовать. Поправьте меня если это не так.
  7. Проект параметров формы сохраняется в отдельный файл? Библиотека умеет подгружать этот файл?
  8. Поскольку мы (особенно я и @NEO ), как настоящие граммар-наци в программировании (назовем это явление "кодер-наци"), скрестили зубочистки, скатываясь в оффтопик в разных темах - предлагаю перенести эти вялотекущие холливарчики сюда, учинить здесь кровавую расправу и окончательно решить чем отличается теплое от мягкого, и чьей мордочкой нужно тыкать в лужу. История вопроса: Вначале была тема CC bios-net для централизованного управления сетью контроллеров/дронов/роботов/компьютеров, в которой на фрагмент моего поста: Дополнительные примеры: 1. broadcast(7, 'bebebe') 2. broadcast(7, 'bebebe()') ... 1,2 покажут обработку ошибок на стадии компиляции и выполнения; было получено утверждение: Lua интерпретируемый язык. И хотя, сам факт столь очевидного высказывания у меня вызвал удивление, я поспешил с ним согласиться целиком и полностью, написав в ответ: true~=nil -- в смысле - очевидная истина, как дважды два - четыре. (false~=nil - тоже истина, но менее очевидная) Насколько я понимаю, NEO увидев слово "компиляция" в моем посте, поспешил уличить другого в "невежестве" и, блеснув "знаниями", немножко самоутвердиться указав простому смертному на "ошибку". Остановлюсь на этом моменте, чтобы прояснить термины. Тезисно: 1. Трансляция из языка высокого уровня в язык более низкого уровня называется компиляцией. 2. Вызов f=load('lua code',, 't',) компилирует (транслирует) исходный луа-код в байт-код 3. Вызов pcall(f, ...) запускает выполнение (интерпретацию) байт-кода 4. Языки, интерпретация (выполнение) которых происходит в специальной программе (интерпретаторе) называются интерпретируемыми языками. 5. Языки, которые интерпретируются аппаратным устройством (процессором) называются компилируемыми языками. 6. Луа - интерпретируемый язык. Первый фрагмент текста означает именно то, что там написано: "(примеры) 1,2 покажут обработку ошибок на стадии компиляции и выполнения;" т.е. load() и pcall() соответственно. Каким боком в фрагменте можно узреть утверждение того что "луа компилируемый язык" мне непонятно. Продолжение истории: Ололоканье продолжилось в другой теме: bibi или удобство разработки eeprom-кода и операционных систем, в которой есть фрагмент: ... Ошибки компиляции нашего кода будут выглядеть так: ... Ошибки выполнения так: ... Здесь уже другой пионер решил повторить опыт первопроходца и выдал: Lua - интерпретируемый язык, компиляции там нет. В твоём случае это ошибка синтаксиса. Тех кто называет Lua компилируемым языком нужно сжигать на костре. На что наш мэтр снисходительно, заметил: Видимо человек так себе это представляет, хотя и не правильно. В итоге оба пионера были посланы учиться, с подкреплением посыла цитатами и выдержками из первоисточников. К моему сожалению посыл привел к обратному результату. Главный пионер, вместо того чтобы успокоиться и заняться самообразованием, начал обиженно, сбивчиво но при этом высокомерно кому-то что-то доказывать. Обижать людей (даже заносчивых) - нехорошо. Поэтому я принес свои извинения за грубость и понадеялся на исчерпание конфликта. Видно мои извинения были восприняты как слабость, потому что, как оказалось в последствии, конфликт не исчерпался и, беспокоя модераторов, волнительно брызжет оффтопиком в разных темах. Предлагаю: - Читать вышеуказанные тезисы, до просветления и последующего приобщения к вере в bibi. или - Опровергать их, учинив в этой теме веселый холиварчик с крестовыми походами и кострами. или - Быть мимопрокодящим бегемотом.
  9. Не будет. Даже беглый взгляд видит кучу ошибок. Главный недочет в логике работы: 1. загрузил код из сети 2. сохранил его в файл (куда? на какую файловую систему? в тепм? на ридонли дискетку?) 3. а дальше что? твой код закончился и стоп-компьютер? а после рестарта опять грузит из сети? И вообще, что значит "должно работать"? Проверять кто за тебя будет? Халтурщик Заюзай bibi сохрани свой код как boot.lua и тестируй.
  10. Песочница у луа довольно дырявая ) но несмотря на это я не думаю, что можно сильно навредить изнутри такой матрешки.
  11. http://ocdoc.cil.li/component:filesystem Не апи, который добавляется позже, операционной системой, а именно вызовы методов компонента. Пример работы можешь в биби глянуть. Он использует гпу и файловую систему для загрузки файла.
  12. Эм-м. io в eeprom не существует же кажись?! и local i=component.internet тоже не должно работать это точно из eeprom запускается?
  13. Не надо тьфу на нас ) Просто вместо того, чтобы пилить облака да тучки, реализовали бы базовые протоколы вначале. Тот же телнет, фтп или вообще SSH. Чтобы можно было на линупсовом сервере работать через цомпутеркрафт. А то все сразу мегапроекты берутся пилить, и быстро стухают. Утилит для опенос тоже нехватеат очень. Обычных консольных, и чтоб пайпы умели. Элементарный more и тот кривокосячный.
  14. Эта опция запрещает/разрешает загрузку скомпилированного байт-кода через load(), каким боком сюда затесалось слово из буквы С я не в курсе ) Вы считаете, что интерпретатор даст доступ байт-коду к функциям С?
  15. Палец подымается, и медленно ползет по тексту файла OpenComputers.cfg в поисках секции lua{}, найдя её, тыкает в первый параметр: lua { # Whether to allow loading precompiled bytecode via Lua's `load` # function, or related functions (`loadfile`, `dofile`). Enable this # only if you absolutely trust all users on your server and all Lua # code you run. This can be a MASSIVE SECURITY RISK, since precompiled # code can easily be used for exploits, running arbitrary code on the # real server! I cannot stress this enough: only enable this is you # know what you're doing. allowBytecode=false 2 NEO: Слово "precompiled" в первой строке комментария сможешь интерпретировать?
  16. {{пастбин бЛаБлаБла, тег1, тег2, ..., тегN}...} + нечеткий поиск-фильтр по тегам = рульная база софта
  17. Спецификация байт-кода - вопрос конкретной реализации. Гугл выдает кучу тем по декомпиляции, в т.ч. и готовых (работоспособных ли?) утилит. Тривиально, задача сводится к трансляции байт-кода в эквивалентный луа-код, который, в свою очередь, сможет компилироваться с помощью родной load() в исходный байт-код. Думаю смотреть исходники луа машины, в частности функции лоад - самый верный путь. Именно она транслирует луа- в байт-, и именно её необходимо реверснуть.
  18. А толку? Ну получишь ты строку с байт-кодом функции, но она годится только для изучения. Выполнить её не удастся, поскольку в конфиге мода, по умолчанию, отключена загрузка байт-кода. Её легко включить, но разработчики грозят гипотетическими проблемами с безопасностью. Теоретически, джава-луа машину можно ковырнуть и заставить выполнить любой код на стороне сервера. Но практически, флагом "безопасности", имхо, машут сторонники опенсорса, поскольку возможность запуска байт-кода открывает возможность проприетарщины, ну и много других интересных фишечек. Хотя никто не мешает заняться реверсом и написать декомпилятор из байт-кода обратно в луа ) тоже интересная задача.
  19. Облака это всего лишь морда для какого-либо протокола. Начинать полюбэ нужно с него. Или забить, и заюзать существующие. Например пастбин )
  20. У нас здесь клуб велосипедистов ) Передавать скриншотами - моветон. Заключай GPU-шные ф-и вывода в конверт и, при их вызове, передавай их на удаленный хост, а от хоста передавай события клавиатуры мыши и пуль их в очередь событий. Вот и весь тимвьювер.
  21. Опять 25 ) load() на выходе дает скомпилированный чанк в форме байт-кода, а уже байт-код интерпретируется луа машиной. Луа интерпретирует скомпилированный байт-код программы а не текст!!!!111адинадин Никак. Даже загрузка байткода, полученного извне, изначально отключен по соображениям безопасности. Если очень хочется, то можно load с помощью которой все компилится, заключить в конверт с нужным функционалом. Но это имитация.
  22. Неясный вопрос. Ты хочешь извлечь байткод функции из окружения?
  23. Зойчем анекдоты? Запилите рсс башорга.
×
×
  • Создать...