Snusmumriken
Я к тому что глобалы - зло, и всегда были им.
Нет ни одного случая (кроме бешеной оптимизации памяти), когда модули работающие с глобалами были лучше чем тех кто не работает.
ShadoWalkeR
Глобалы помоему везде зло
Snusmumriken
А вот уметь работать с глобалами - стоит. Никогда не знаешь с чем столкнёшься. Просто сам не используй.
Ну, это как будто половина людей в мире - геи, а тебе вдруг геи не нравятся, но твой начальник и коллега - тоже геи. Приходится уметь работать с ними, особенно если совокупляться не вынуждают ))
ShadoWalkeR
Да не - я и goto иногда пользуюсь. Но все же лучше делать ветвления - лучше логика выглядит. Сейчас на новом месте как раз разгребаю логику сделанную людьми, которые зачастую впервые в жизни камаилио видели. МНогоэтажные if-else, перескакивания туда сюда по логике и тд
Snusmumriken
Когда-то использовал goto как замену continue.
Ну там:
for i, v in ipairs(t) do
if not v.key then goto continue end
bla-bla
::continue::
end
Сейчас - таблицы свитч-кейсов для таких случаев.
ShadoWalkeR
В камаилио есть switch-case конструкция, просто ктото не читал документацию. А еще там есть параметр который ограничивает этажность if-else 😃
ShadoWalkeR
К одному if, в который порядка 50 ИЛИ засунули попался комментарий - сюда больше не добавлять условий
ShadoWalkeR
Snusmumriken
Этажность if-else в продолжительной обработке правится негативизацией:
function foo(data)
local key, value = data:match(...)
if not key then return end
local id = key..value
if #id < 10 then return end
...
return ...
end
ShadoWalkeR
Не - в камаилио логика на С подобном синтаксисе
ShadoWalkeR
http://docs.carbonsoft.ru/pages/viewpage.action?pageId=63799321
ShadoWalkeR
Вот к примеру
Snusmumriken
Хорошо люди живут, много свободного времени, наверное : )
ShadoWalkeR
Ну а мне разгребать приходится 😃
Snusmumriken
Попробуй применять насильственные методы.
Snusmumriken
С сишниками проблема в том, что они мало переучиваются на другие стилистики, и продолжают писать на "С-луа" или "С с классами", или "С-питоне" там, где это не нужно и даже вредно.
Особенно обидно когда это крутые крупные библиотеки.
ShadoWalkeR
Зачем? Я просто в камаиливской логике наведу порядок, а дальше все равно кроме меня этим заниматься не будет. Как я понял сейчас с телефонией ситуация такова - что нужно разгрести все, что предыдущие телефонисты наделали
Snusmumriken
Ну тады развлекайтесь, я потопал утренними делами заниматься : )
ShadoWalkeR
Да у меня выходной - завтра продолжу 😃
ShadoWalkeR
Удачи)
Anonymous
Ну типа в реальной жизни - ноль раз, Фил прав, абсолютного наложения не будет никогда из-за нематематичности макро-мира.
В "виртуальной" - два раза, в полночь и полдень. Дальше будут расхождения хоть на пол градуса.
Остальные случаи, типа "ну может быть, если часы чуть спешат или ещё что-то такое, то они могут накладываться чуть чаще/чуть реже, бла-бла" - меня не интересует, ибо вводятся дополнительные условия.
Нет, я не смышлённый, я в opengl рисовал аналоговые часы и хотел сделать "максимально ровно", и это не получилось ))
так я ноль раз уже написал
Vitaliy ◀️TriΔng3l▶️
Ну типа в реальной жизни - ноль раз, Фил прав, абсолютного наложения не будет никогда из-за нематематичности макро-мира.
В "виртуальной" - два раза, в полночь и полдень. Дальше будут расхождения хоть на пол градуса.
Остальные случаи, типа "ну может быть, если часы чуть спешат или ещё что-то такое, то они могут накладываться чуть чаще/чуть реже, бла-бла" - меня не интересует, ибо вводятся дополнительные условия.
Нет, я не смышлённый, я в opengl рисовал аналоговые часы и хотел сделать "максимально ровно", и это не получилось ))
Я ничего не понял. Это про точность флоата?
Anonymous
Anonymous
http://bash.im/quote/408012
ㅤ
Да.
ㅤ
cat main.lua | echo
ㅤ
Ничего. echo не выводит то, что ты ему подал на stdin.
ㅤ
https://stackoverflow.com/questions/35116699/piping-not-working-with-echo-command
ㅤ
Под функцией подразумеваешь шелловскую команду (встроенную команду или внешнюю программу — не важно)?
ㅤ
Ну, cat читает stdin.
ㅤ
lua main.lua | cat
Правда, пока не совсем понятно, зачем.
ㅤ
Тогда всё понятно. :)
Elias
Кто завтра на meetup идёт? :D
Nikolay
я
Alexander
NB: анонс митапа с адресом, ссылкой на онлайн-трансляцию для тех, кто не сможет прийти: http://archive.sendpulse.com/shc4c/06611719/
телеграм митапа t.me/luainmoscow
ㅤ
И я иду.
Alexander
и я иду!
Alexander
:D
Elias
Митап pro.lua надо организовать
😆
Elias
Внутри митапа
Elias
Вообще, это первое событие по Lua, на которое я иду, будет интересно :D
Tverd
Виртуально буду с вами )
Alexey
Тоже собираюсь быть там
Elias
Интересно, будет ли там достаточно пиццы, чтобы не ужинать 🤔🤔🤔
Maxim
@eliasdaler такой?
Maxim
Додо Пицца, я все понимаю, но это я не понимаю. Причём тут девушки в костюме пицца и текст «Этому городу нужна новая пицца»? Где логика?
Alexander
спонсоры обещают, что будет.
если все зарегаются на таймпаде ;)
Alexander
Интересно, будет ли там достаточно пиццы, чтобы не ужинать 🤔🤔🤔
Alexander
@agladysh будет?
Elias
Надо пару раз зарегаться /sarcasm/
Alexander
там всё равно из расчёта на вместимость зала заказ
fgntfg
Господа, есть у кого сконпилённые либы для подключения к Ораклу под Виндой?
Alexey
Odbc ?
fgntfg
нативное лучше, хотя пофигу
Lyubov
kuradi
Meetup начался) https://youtu.be/McLyNU_TbIo
Elias
Прекрасно
Lyubov
Lyubov
35 пицц
Anonymous
» шишкин лес
Elias
Lyubov
Приходи
Lyubov
Не знаю
Elias
Хороший митап. Прям мотивировал что-нибудь закодить, изучить и сделать доклад в будущем. 😂👍
Alexey
Простой доклад про реализацию классов:)
Alexey
Пиццу съели не всю
Alexey
Может на утро останется:)
Tverd
Шелле - это shell? bash?
Anonymous
Всем привет, можно задать вопрос про https://github.com/lovetoys/lovetoys, а скорее всего про https://github.com/kikito/middleclass ?
Tverd
разумеется можно
Tverd
так и в чем вопрос-то?
Anonymous
у меня крашится с "attempt to call method a nil value"
Anonymous
вот только не всегда, сейчас объясню суть
Tverd
а точнее где крашится? ошибка какая?
Anonymous
есть класс Bullet, созданный этим самым middleclass, у него есть метод function Bullet:concat(with) ..
Anonymous
на всякий случай
Anonymous
так, вот в love2d physcics я дергаю метод при контакте
Anonymous
сейчас закину сорс
Anonymous
function beginContact(a, b, coll)
if a:isDestroyed() or b:isDestroyed() then
return
end
if a:getBody():isDestroyed() or b:getBody():isDestroyed() then
return
end
local aData = a:getBody():getUserData()
local bData = b:getBody():getUserData()
debug_string = string.format("contact %s -> %s", aData, bData)
if aData and bData then
if aData and aData:has("contactable") then
print("Contact a "..aData.class.name.."("..aData.id..")".." w "..bData.class.name)
aData:contact(bData)
elseif bData and bData:has("contactable") then
print("Contact b "..bData.class.name.."("..bData.id..")".." w "..aData.class.name)
bData:concat(aData)
end
end
end