eu_tomat
Модераторы-
Публикации
2 666 -
Зарегистрирован
-
Посещение
-
Победитель дней
331
Тип публикации
Блоги
Профили
Форум
Багтрекер
Магазин
Все публикации пользователя eu_tomat
-
Это препятствие снова возвращает мои мысли к озвученной ранее идее: Это решение позволит уйти от создания уникального мощного, но компактного парсера, и сосредоточиться на универсальном и простом компрессоре, которому вообще не требуется ничего знать о синтаксисе.
-
@Examnes, я не смог до конца понять смысл вопроса. Предлагаю исходить из задачи и в зависимости от неё выбирать решение. Возможно, удалённые компоненты тут вообще не нужны. Если требуется всего лишь увеличить количество компонентов, доступных компьютеру, то проще всего заменить компьютер на сервер, а при его сборке добавить нужное количество шин. Благодаря использованию шин одному серверу может быть доступно до 64 устройств. Судя по озвученному условию, для решения поставленной задачи этого количества будет достаточно: Что же касается именно удалённых устройств, то можно придумать множество разных решений. Кто-то предпочитает писать громоздкие универсальные решения, но я предлагаю исходить всё так же из задачи.
-
А что мешает? Ты же сам захотел присваивание внутри выражения, что не свойственно для Lua. Например, выражения вида a,b = c,d = e,f можно было бы заменять на нормальный код c,d = e,f a,b = c,d
-
Но в конечном-то итоге ты хочешь сократить количество символов не в коде Lua, а в коде на твоём специфическом языке. И если правила этого языка ты определяешь сам, то можно создавать в принципе любые правила. Например, можно любое выражение присваивания интерпретировать по правилам языка Си. В каких-то случаях присваивание продолжится, в каких-то случаях оно окажется однократным, а иногда будет и вовсе отсутствовать, как это бывает с результатами вызова функций.
-
Стоит, если следование канонам обеспечивает удобство. В противном оно необязательно. Для того, чтобы оказаться в каталоге /home, пользователю не требуется совершать никаких усилий. Поэтому записывать любые файлы непосредственно в /home для пользователя выглядит естественным и удобным. Проблемы могут появиться при большом количестве файлов. На взрослых системах такая ситуация возникает очень быстро, поэтому следование канонам становится необходимостью. Благодаря этому пользователь может быстро перенести свои данные или настройки ПО на другую систему. Само же ПО разворачивается из готовых дистрибутивов. Но в Майнкрафте готовые дистрибутивы ПО являются редкостью. Почти любая программа либо написана самостоятельно, либо самостоятельно доработана под конкретные потребности игрока. И если игроку по каким-либо причинам требуется перенести свою работу на другой компьютер, то он переносит как данные, так и программы. И самое логичное, что он делает — полностью копирует каталог /home. Полное следование канонам в этом случае будет только мешать. Это удобно, согласен. Но учитывая, что большинство игроков не покидает каталога /home, заметной роли данный канон не играет. Разве я против этого? Майнкрафт по сути является песочницей, благодаря чему каждый волен самостоятельно выбрать, в чём будет заключаться именно его игра. При желании можно играть и в каноны Unix тоже. Для разработчиков операционных систем это становится практически обязанностью. Но при этом другие игроки имеют право играть в совсем другие каноны. Особенно авторы программ, состоящих из единственного файлика, вроде обсуждаемой в этой теме.
- 16 ответов
-
- opencomputers
- юникод
-
(и ещё 1 )
Теги:
-
А что именно ты хочешь выпрямить? Компактный вариант вроде используемого в языке Си вряд ли получится. Можно, например, избавиться от возврата мусорного значения в return без потери читаемости кода: function _a(v) a = v return a end function f() return _a(robot.move)(3) end Можно не захламлять пространство имён названием функции, но читаемость кода заметно снизится: function f() return (function(v)a=v return v end)(math.sin)(3.14) end Все эти варианты не особо красивы. Или тебе не красота нужна? Какова конечная цель этого трюка?
-
Для начала сгодится. Только никакой это не мост. Задач моста — объединение сетей. А тут просто клиент-сервер. Причём, сам сервер в каком-то смысле тоже является клиентом, т.к. управляется пользователем вручную. И всё это без какого-либо описания, как это работает, и как это использовать. Перенесу пока в раздел программ новичков.
-
Ага! Вот и таблетки для памяти завезли. Что ж, хороший результат для новичка. Автор отчаянно боролся за сохранение работоспособности модифицированного им кода, если верить его же постам. Жаль, история коммитов в репозитории никак не отражает его эпичной схватки с кодом. Будем внимательно следить за развитием нашего героя.
-
@logicikaarenopen Теперь критика от меня. Описание очень непонятное и неинформативное. Для читателя оно бесполезно, тот бегло пробежится глазами по твоей теме и закроет её. Считай, что для читателя существует только заголовок темы. Постарайся составить более полное описание. Ничего непонятно. О чём речь? @logicikaarenopen И ещё один момент. Не надо на форуме с интервалом в 5 минут писать короткие посты, состоящие из нескольких слов вида: Я вчера удалил твои короткие посты, думал ты поймёшь намёк. Эти я тоже удалю, иначе это будет издевательством над читателями нашего форума. А для общения короткими фразами предлагаю перейти в дискорд: https://discord.com/invite/tpjbgjG
-
Что касается честности, то претензии обоснованы. Разве что кроме велосипедов, т.к. на форуме почти все так или иначе делают велосипеды. Это нормально. Человек без опыта не может сразу построить космический корабль. А воспроизвести велосипед — это запросто. А что касается грубости, то её можно было избежать. Не стоило вкладывать так много эмоций в критику.
-
Не припоминаю такого в OpenOS. В какой момент сбрасывается разрешение в OpenOS? А для ответов по MineOS @ECS позовём.
-
Этот трюк полезен, когда в первую очередь важна скорость вычислений, а точность вычислений при этом не особо важна. Но в математической библиотеке его использование нежелательно из-за увеличения погрешности вычислений. = math.exp(2) - math.exp(1)^2 8.8817841970013e-16
-
Такие несложные функции каждый программист обычно сам пишет. Возможно, этот код кому-то пригодится в качестве учебного пособия, но для этого его потребуется немного поправить. Повысить точность вычислений можно, выбросив эту строчку: local help = 2.7182818284, а help ^ array заменив на math.exp(array).
- 4 ответа
-
- 2
-
-
У нас там вроде бы роботы отказывались копать. Или ты уже починил?
-
Тогда я тоже сдаюсь. Если ты не видишь второго компонента красной платы, даже имея доступ к игровому миру, то я тем более его не найду. Предлагаю разобрать всю схему и, постепенно собирая её заново, проверять components. Так ты поймёшь, какие блоки схемы добавляют лишний компонент.
-
Я же выше писал про это: Вытащи плату красного камня и проверь.
-
То есть как сдаёшься? Поиск окончен? Закрываем тему? Или ты хочешь, чтобы кто-то нашёл второй компонент красного камня, не видя всего, что можешь видеть ты? Тебе components показывает наличие двух компонентов красного камня. Значит, они как-то подключены. Ищи второй компонент. Красную плату в компьютер не вставлял?
-
Для начала надо найти второй компонент красного камня. Я его не вижу на скриншоте. Я вижу только один. Где второй? Проверь всю схему.
-
Давай рассуждать логически: Программа управления реактором требует, чтобы количество реакторов и контроллеров красного камня совпадало. Программа components показывает один компонент реакторной камеры и два компонента красного камня. Компонент реакторной камеры появляется при подключении к ней адаптера Компонент красного камня появляется при подключении красного контроллера или платы красного камня. Вопрос: кто же их них лишний? Неужели какой-то из компонентов красного камня?
-
@OMGSEMA Так у тебя один компонент реактора и два (ДВА) компонента красного камня. Программа на это и ругается. Убирай один лишний компонент.
-
Программа продолжает сообщать о несовпадении количества реакторов и контроллеров? А что сейчас выдаёт components?
-
Я сам не знаю, что это. Просто поискал в описании к программе слово "индикатор" и нашёл такую строчку:
-
У тебя в списке компонентов видны компоненты redsone и reactor. А программа ищет redsone и reactor_chamber. Попробуй подключить контроллер не к реактору, а к дополнительной реакторной камере.
-
@OMGSEMA Проверь, какие компоненты видит компьютер. Что выдаёт components?
