swg2you
Пользователи-
Публикации
219 -
Зарегистрирован
-
Посещение
-
Победитель дней
20
Тип публикации
Блоги
Профили
Форум
Багтрекер
Магазин
Все публикации пользователя swg2you
-
Скринов нет, кода нет, населена роботами с рекомендуемой комплектацией )
- 8 ответов
-
- Lua
- opencomputers
-
(и ещё 1 )
Теги:
-
Голографические проекторы вообще шикарно бы смотрелись как ячейки памяти, только для решения проблемы программиста Василия такой метод не подходит. Глины нет.
-
Вопрос не в том, что выведет, это легко проверить запустив,а скорее в том, почему так происходит. Тут явно происки нечистой силы ) А "костыли" действительно вовсе не костыли. Просто "a and b or c" подобен классическому тернарному оператору, но не является им. Его логика сложнее.
-
Жаль. Гипотетический риск запенивания твоего участка ничто по сравнению с возможностью скрывать проводку в стенах.
-
Не нахожу в NEI рецепта крафта CF Sprayer. Он отключен/сломан? Обширные водные глади безжизненны без парусников. Ни Карибов ни пиратов.
-
Заставил меня бежать и проверять ) Действительно, я перемудрил с возвратом А, правильное прочтение конструкции A and B or C будет: "Если А истинно, то вернуть B или С, иначе вернуть С" Эквивалентная конструкция: if A then if B then B else C end else C --! end Поэтому, A and B or C ну никак не замена "a ? b : c" И как верно подметил, eu_tomat, при расстановке скобочек поведение становится более очевидным. Но повторюсь, ошибка возникает не из-за игнорирования правил приоритета а из-за неверного прочтения конструкции. upd: Исправил пост, по вашим замечаниям. Надеюсь с псевдо-булями разобрались ) Но у нас почему-то ни слова о проблеме указанной в первом посте )
-
And стоит перед or. Он и так выполняется первым. Правила приоритета не применяются и никак не влияют на результат. Ошибка заключается в "неверном чтении" конструкции. И это, действительно, как выразился @Krutoy, - Подводный камень.
-
Приоритет здесь не при чем.
-
Это да, синтаксис языка определяет список параметров функции: parlist ::= namelist [‘,’ ‘...’] | ‘...’ Но при чем здесь ‘...’ ? о_О У меня его нет нигде, разве что в названии темы ) Кроме названия темы конечно ) Так нельзя читать. Нужно читать "Если А истинно, то вернуть B или С, иначе вернуть С" --! Конструкция A and B or C является заменой сложного условия: if A then if B then B else C end else C --! end Запомнить логику этих псевдо-булевых операторов можно на простых примерах: print(1 and 2) -->2 print(false and nil) -->false print(1 or 2) -->1 print(false or nil) -->nil И не забывать про короткие вычисления, когда в качестве операндов пишем функции. upd: --! исправлено по замечаниям Krutoy и eu_tomat
-
А ну-ка, знатоки, попробуйте ответить, - Что выведет нам на экран, такая вот, простейшая программа? t = {1,2,3} print(table.unpack(t)) print(0, table.unpack(t)) print(table.unpack(t), 4)
-
Ттюх пережил упадок и раскол, и сейчас далеко не лучшие времена. Но остался в сердце ) Много гигантских проектов делали там. Целые города возводили. Часть ребят ушла и создала новый проект GameComa, сути распада не знаю, я тогда в ТФК общины возводил, но намного позже, меня старый знакомый обратно потянул и на Lif подсадил, правда хватило всего на пару недель. Да и то, в основном в движке Torque 3D ковырялся да скрипты писал. Но не смотря на то, что они разругались, ребята хорошие. Красноглазиков много, и кодеров опытных на всяких разных языках. Интересно с ними. До сих пор в конференции общаемся периодически.
-
Я просто оставлю это здесь. Пусть лежит.
- 19 ответов
-
- lua
- encryption
-
(и ещё 1 )
Теги:
-
Оу! Спасибо за сравнение с таким мэтром, но мне до него далеко. Да и непостоянно это, непрофессионально. Бывает увлекаюсь чем-то и проявляется графоманский зуд, тогда и пишу, а публикуюсь на форумах проектов которыми увлечен. Немножко в теме по созданной общине RedMiner писал, при создании и дальше по всей теме, потом после вайпа был рассказик в продолжение той же темы. Потом увлекся TFK и уже на другом сервере реинкарнировал общину, с соответствующими зарисовками в прозе. Затем увлекся LiF, мод писал и немножко вел свой раздел по скриптингу, иногда графоманя, а сейчас вот на Lua подсел, и сюда перебрался. Поближе к единомышленникам. Есть еще отдельный сайт, http://drabont.net/ посвященный размышлению о будущем человечества с прозовым изложением идеи. И личный блог, с философской поэзией и прозой, но он для близких людей. Еще раз благодарю за сравнение с мэтром. Мне очень приятно.
-
Злой ты. А на редстоуне и процессор можно замутить если захотеть. Но нужно ли?
-
В смысле?
-
Отличный способ ) Можно еще проще, на бумажке писать и там-же вычислять. Беда в том, что время ограничено, а вычисления очень трудоемкие. Не успеют вручную обсчитать. Идея отличная, но нет робота, и булыжника нет. ) Из компьютерной техники только системник без винта, монитор, клавиатура и дискетка OpenOS. И ресурсы для крафта. А нужно 100 000 байт энергонезависимой памяти.
-
Ну, это не идея а гипотетическая возможность увиденная в процессе изучения работы монитора. ) Комикс хороший, но я не понял как он относится к теме.
-
Применимо-применимо ) Пролог: Команда астронавтов под руководством офицера по кличке "Йошкин Кот", взяв с собой очень много различных ресурсов отправилась на луну для постройки большой суперсовременной базы. Вы, молодой но опытный программист Василий, летите с командой в качестве главного программиста. Для проведения расчетов при постройке базы, и расчетов обратной траектории полета вы взяли с собой рабочий компьютер. Компьютер отличный: корпус Т3 со встроенным дисководом, большой монитор Т3 и удобная клавиатура. Правда еще в прошлом месяце вы втихаря сняли с него емкую планку памяти поставив взамен две Т1, но рабочим программам столько не нужно было, а дома у вас не запускалась новая игра. Прилетаете вы на луну, при посадке случается небольшое ЧП - ломается радио-модуль и связи с землей нет, но это не беда, команда вполне автономна, и успешно разворачивает небольшую временную базу с солнечными панелями, складом-мастерской, регенераторами кислорода, санитарно-кухонным блоком и спальней. Команда приступает к постройке основной базы, а вы начинаете распаковывать свой компьютер и с ужасом вспоминаете, что перед отлетом, сняли винчестер, чтобы скопировать домой скачанную на работе коллекцию интересного видео, и в суматохе забыли поставить его обратно. Заметив замешательство на вашем лице, к вам подходит командир миссии. - Что случилось, Василий? - Гм... Я это, я винт забыл... - Так возьми на складе, мы с запасом набрали, винтов, болтов, гаек, чего душе угодно. - Эм-м... Не такой винт... Винчестер в смысле, накопитель. Жесткий магнитный диск. - Винт, диск, жесткий, мягкий не морочь мне голову своими штучками, скажи что это значит. - Это значит, что я не смогу сделать расчеты для постройки реактора, - Василий замялся,- и рассчитать обратную траекторию полета тоже не смогу... Лицо Йошкина кота потемнело. - Получается мы не сможем вернуться? - Получается да. - И реактор не сможем поставить? - Угу. - И энергия на регенерацию у нас есть только до захода солнца, выходит? - Выходит что так... - А после погибнем? - Да. - Из-за того, что ты забыл какую-то свою железку, погибнет вся экспедиция? Василий потупил взгляд и переминался с ноги на ногу, затем встрепенулся и выпалил, - Идея! - Я дискетку сделаю, а софт для расчетов весь напишу. Он не сложный. Благо дискетка с осью, ну, в смысле с операционной системой, у меня всегда с собой на всякий пожарный. - Это как-раз пожарный. Даже очень пожарный... Жизненно... Что тебе для этого нужно? - Да мелочь: кусочки железа, бумага, дерево и булыжник. - Булыжник? - Ну да, булыжник... а что? - У нас всего полно, но лунные базы из булыжника не строят. Металл любой есть, стекло, алмазы, дерево, бумага, все что хочешь, даже взрывоустойчивый обсидиан есть, но булыжника и глины нет! - Гмм... Что же делать? Весь софт для расчетов занимает ровно 100 000 байт, и такой хитрый что никак не сжимается. А дискетка с осью - ридонли... Может в памяти виртуальный диск создать, главное компьютер не выключать, а я за сотню часов все напишу - программист вспомнил про снятую планку, и начал прикидывать, сколько сможет выделить на виртуальный диск. - Не выключать не выйдет. Ты учти, что солнечные панели дают мало, а регенераторы кислорода берут много. Каждых 4 часа, как запускаются, вся энергия на них. В базе даже свет тухнет. - Я что нибудь придумаю. Обязательно! Командир хмуро посморел на Василия. - Сейчас у нас утро, так что у тебя есть пару недель до захода солнца. Пока есть время - думай! И на этих словах Йошкин Кот, повернулся и пошел к шлюзовому отсеку. Перед выходом обернулся и сказал, - Команде об этом ни слова. Пусть спокойно работают. --==-- Решений несколько, но эта экспромт-задачка для тру кодеров)
-
Не стирает ) Если сделать: prn('Hello')` gpu.bind(component.list("screen")()) наше хелло останется на экране. upd: Правда с utf-8 я погорячился. С "узкими" символами (например unicode.char(0x1F00)) все в порядке, но при выводе "широкого" символа (например unicode.char(0x1000)) следующее знакоместо затирается пробелом. Т.е. Если вы сделаете: gpu.set(2, 1, '!') gpu.set(1, 1, unicode.char(0x1000)) c=gpu.get(2,1) prn(c,string.byte(c)) то вопреки ожидаемому выводу "! 33" мы получим " 32", пробел и код пробела. Довольно важная но недокументированная особенность!
-
Монитор хранит символы, пока их не перезапишут или не разрушат блок. Чем не стационарный накопитель?! Пример: монитор 3-го уровня имеет 150*50=8000 знакомест. а если еще вспомнить, что он умеет двухбайтовый utf-8... а если еще вспомнить, что знакоместо имеет 2 цвета... Получается: монитор 3-го уровня - 8000*(2+2) = 32 000 байт монитор 2-го уровня - 2000*(2+1)=6 000 байт монитор 1-го уровня - 800*2+800*2/8=1800 байт Вывод: Выбрасывайте винты, юзайте мониторы
-
Ы Предлагаю учредить "орден имени Сябро"
-
На практике, большинство затей "а давайте свою СуперОС напишем, и чтоб она лучше всех была!!!111" начинаются и заканчиваются на стадии рисования самой_лучшей_загрузочной_заставки, единицы добираются до кнопки "пуск" копируя угловатые стереотипы. Но черт возьми. Ребята! Мы же здесь кажется в кубики играем, разве нет? )
-
Баг или фича? или реализация load в Lua@OpenComuters
swg2you ответил в вопрос swg2you в Разные (отсортировать)
именно так. но чуть менее грубо. e.load=function(c,s,m,g) return load(c,s,m,g or e) end чтобы все параметры обрабатывались, а среда по умолчанию бралась из среды выполнения. там еще вроде с _ENV можно сыграть, но я в нем пока не разобрался.- 14 ответов
-
Автоматическое определение направления робота с геосканером
swg2you прокомментировал eu_tomat запись в блоге в eutomatic blog
Слог хорош, красив и вычурен. Аффтар пеши исчо!
