телеги
Shieldy
Отлично! Пользователи будут кикнуты, если не пройдут капчу.
Leon174
Какая неудержимая тяга к знаниям в последнее время, будто второе нашествие индусов. Хотя судя по профилям, это первое трансвеститское нашествие.
Luсky
забанить
fgntfg
Да пусть уж сидит, раз так хочется
Arslan
Неужели)
Arslan
Снус пришел
Snusmumriken
Добреутро
Arslan
12 часов спал
Snusmumriken
Я вчера наконец-то смог вывести треугольник на D-lang'е, с sdl+opengl. К пяти утра.
Luсky
Я вчера наконец-то смог вывести треугольник на D-lang'е, с sdl+opengl. К пяти утра.
нормальные пацаны миллионы в офшоры выводят, а этот, вы поглядите на него.
Snusmumriken
Норма относительна.
Luсky
нормальные пацаны миллионы в офшоры выводят, а этот, вы поглядите на него.
Сказал тот, кто до утра переводил игру на испанский, чисто чтоб поржать.
Snusmumriken
С настройками opengl'а и полным разбором пайплайна.
Snusmumriken
С настройками opengl'а и полным разбором пайплайна.
Тот кто давал тестовый пример в коде, накидал гору настроек, половина из которых вырубала отображение треугольника, а я думал: то ли я дурак, то ли сани не едут, сидел, выдирал куски памяти и коллстак из видяхи.
Luсky
Ребусы и шарады для юных погромистов.
Snusmumriken
Они забанены в группе, но всё равно как-то вламываются, не очень понимаю как.
Leon174
После какого-то из обновлений (возможно, последнего) у меня изменились настройки конфиденциальности и сходу получил спам от одного и опросник от другого. Это было странно, в первый раз так.
Arslan
Хотите сказать телега сломалась?
Snusmumriken
Товарищи проламывают бан.
Snusmumriken
Наверное да, сломалась.
anton
o/ допустим у меня есть таблица вида: { one = {1, 2}} но я не знаю этого имени, one. Как из неё получить это имя, в одну строчку, более элегантно чем: table.pack(next(a))[1]
Snusmumriken
Ну local k = next(a), если значение не нужно
anton
ой, действительно ж
Snusmumriken
Собсно, быстрая проверка, не пуста ли таблица: if next(tbl) then ....
Snusmumriken
Это в принципе жизнеспособно.
Snusmumriken
В случае если перед тобой не массив, а проверить на пустоту надо.
Qulinxao
Как отличить проверку на nil по причине малограмотности от той же проверки которая различает случаи nil vs false . Крч в Lua идиоматично когда используется явная булева константа?
Илья
Чем это проще tbl~={}
тем, что tbl~={} не работает?
anton
тем, что tbl~={} не работает?
почему, работает, можно использовать в качестве true всегда
Snusmumriken
Как отличить проверку на nil по причине малограмотности от той же проверки которая различает случаи nil vs false . Крч в Lua идиоматично когда используется явная булева константа?
Когда тебе может придти false и тебе не всё равно — ты делаешь проверку на if something == false then. Когда пофигу — if something then. Никакой идиомы тут нет, просто делаешь проверки на то что тебе нужно. Всё.
Snusmumriken
Нафига явные булы в луа(5.x) вкрутили? Походу Иерусалимского опросить треба
А чем тебе мешают явные булы? Если тебе пофигу на булы — берёшь и такой "if something then", и не паришься.
Qulinxao
А чем тебе мешают явные булы? Если тебе пофигу на булы — берёшь и такой "if something then", и не паришься.
Утомляет видеть if var==true then return true else return false end и т.п. в разноязыких сырцах и выкуривать это от незамутнённости Али спецом только тру тру остальное ложь
Snusmumriken
И такую конструкцию легко заменить на return var and true or false или просто на return var
Qulinxao
И такую конструкцию легко заменить на return var and true or false или просто на return var
Легко и ошибочно ибо в том и прикол незамутнёности что строгую проверку на true проходит только типа boolean со значением true поэтому: return var==true :(
Snusmumriken
А, ну вот, ты уже сам всё победил
Qulinxao
Да блин это частный случай
Snusmumriken
Карочи, это вопрос не к луям, а к тем кто на них пишет.
Snusmumriken
Открою страшную тайну: если бы те скриптописатели, которые досаждают тебе "if var==true then return true else return false end и т.п. " писали бы на жаваскрипте, боли было бы гораздо больше. Я гарантирую, инфа 100%.
Qulinxao
Например: if var==false ... Кроме нужды false в отличии от nil как значения по ключу, есть реально места где в луа внутри пригождаются явные false ?
Snusmumriken
Да.
Qulinxao
Да.
Например?
Snusmumriken
mybool = false
Snusmumriken
Всё.
Snusmumriken
Структуризация, единообразие. Если есть true — есть и false. Не 1 и nil, а true и false.
Snusmumriken
Как вариант, смотри: у нас есть функция: function foo(a, b, useUTF8) -- по дефолту - true useUTF8 = useUTF8 ~= false if useUTF8 then ... end end У неё есть дефолтное значение, которое можно не указывать, и оно будет true, но только false должно его отключать. Nil соответственно НЕ отключает, потому что дефолтное значение.
Snusmumriken
Это пи***ц ))
Snusmumriken
Если тебя "утомляет" видеть if var == true, то если я обнаружу такое у себя на проде, где-то прольётся кровь. А я весьма лоялен к методикам и стилям.
Snusmumriken
И твоя 0~=0 — это получение булеана из говна и палок.
Qulinxao
Это пи***ц ))
Возможная причина вкручивания false и true в зарезервированые kw 0~=0 этж идиома .... Теперь tbl.false не скажешь :(
Snusmumriken
Возможная причина вкручивания false и true в зарезервированые kw 0~=0 этж идиома .... Теперь tbl.false не скажешь :(
> 0~=0 этж идиома Это сишная идиома. Там нет булов, там есть 0 и всё остальное. И следующие за этим косяки вида mybool++; и прочее.
Snusmumriken
И то, в сишке чаще используется !foo и !!foo
Snusmumriken
Кстати, а do и end тебя устраивают? Ты не можешь сделать: function foo(start, end) ... end, оно сломается. И вот меня это иногда подбешивает, потому что я люблю слово end, приходится заменять на a-b или head-tail. И не можешь tbl.do.
Qulinxao
Походу чем дальше, тем не большей доле программистов ваше потребна арифметика ибо ща достаточно сравнения на равенство и неравенство и обращение по индексу/ключу Весело это всё. чем мощнее инструменты тем непритязательный требования к.
Snusmumriken
Нет.
Snusmumriken
Всё значительно проще. Чем мощнее инструменты, тем большие бобики ими пользуются, и тем меньше им надо.
Snusmumriken
Это не "ща достаточно N", а "эти инструменты используются в тех областях, где достаточно N, теми людьми которым достаточно N", не забываем про область применения.
Qulinxao
В абсолютном числе число могущих в теже алго...(не суть) растёт . И при этом относительная доля в общем числе занятых в индустрии падает - и это как ни удивительно хорошо и правильно
Snusmumriken
Ну, на моей практике, написание алгоритмов — это ерунда и булшит для любителей преждевременной эяптимизации, потому что алгоритм можно в любой момент заменить на любой другой, с минимумом допилки.
Snusmumriken
А реальные проблемы — архитектура, читаемость и поддерживаемость.
Snusmumriken
И вот эти вот "идиомы" вроде 0~=0 — это жопа именно в условиях читаемости и поддерживаемости.
Snusmumriken
Структура — это сравнительно небольшой инструмент. Смотри, у тебя есть промышленный комплекс. Там есть упаковочный цех, который пакует продукцию в коробки определённого формата (структуру). И тебе совершенно плевать на форму этой структуры, если конвейер из этого цеха ведёт в мусорку. Структуры — это низкий масштаб, на нём на всё пофигу, всё легко переделывается. И алгоритмы заменяются, и форматы и всё остальное. Архитектура — это высокий масштаб, общая схема работы. При кривой архитектуре, приходится городить бешеное количество перепаковочных цехов и проводить конвейеры по внешней стене промышленного комплекса, и это уже задница: потеря кучи времени, денег, переусложнение, и капитальное удорожание дальнейшей поддержки. Пока ты работаешь с крошечными приложениями в одиночку, для тебя структуры заменяют архитектуру. Когда ты выходишь на уровень программных комплексов, делаемых группой людей, у тебя появляются совсем-совсем другие проблемы.
Qulinxao
Структура — это сравнительно небольшой инструмент. Смотри, у тебя есть промышленный комплекс. Там есть упаковочный цех, который пакует продукцию в коробки определённого формата (структуру). И тебе совершенно плевать на форму этой структуры, если конвейер из этого цеха ведёт в мусорку. Структуры — это низкий масштаб, на нём на всё пофигу, всё легко переделывается. И алгоритмы заменяются, и форматы и всё остальное. Архитектура — это высокий масштаб, общая схема работы. При кривой архитектуре, приходится городить бешеное количество перепаковочных цехов и проводить конвейеры по внешней стене промышленного комплекса, и это уже задница: потеря кучи времени, денег, переусложнение, и капитальное удорожание дальнейшей поддержки. Пока ты работаешь с крошечными приложениями в одиночку, для тебя структуры заменяют архитектуру. Когда ты выходишь на уровень программных комплексов, делаемых группой людей, у тебя появляются совсем-совсем другие проблемы.
"Уловка 22" в том что 1,2,3 и т.д. это почти предел абстракции и при этом современно индоктринировать личинок этим на этапе отсутствия абстрактного мышления - Ща в индустрии программирования даже каменный век в очень далёком будушем
Qulinxao
Теоретическая арифметика Есть такое словосочетание.
Snusmumriken
> Ща в индустрии программирования даже каменный век в очень далёком будушем Очень громкое заявление, требующее довольно серьёзных обоснований.
Qulinxao
Умному достаточно.
Snusmumriken
Умному достаточно.
Ещё более громкое, и на этот раз совершенно безосновательное.
Snusmumriken
Если разбивать на этапы, каменный век успешно прошёл. Камень — это первый появившийся настоящий инструмент. Это не палка, которую можно найти, это инструмент, который надо подготовить (сформировать и наточить под какую-то деятельность). Древние компьютеры программируемые тумблерами, вполне подходят под определение камня каменного века. Дальнейшие инструменты (ассемблеры, уже нормальные слова, напрямую ассоциирующиеся с командами процессора) — вполне заходят под бронзовый век. Их усложнение до сишек-алголов — полноценный железный век. Люди делают всё те же самые действия что и камнем, но другими инструментами. Вычищают шкуры от жира не каменным ножом, а бронзовым или железным. Шьют ткань не костяной иглой а железной. С тем же успехом, но с большей скоростью, качеством конечной продукции и комфортом использования. Качественный скачок производства был в эпохе возрождения и дальнейшей индустриализации: уже появились различные станки. В программировании, станками можно определить популяризацию ООП, появление настоящих IDE, кодогенераторы и прочую фигню.
Snusmumriken
Так что сейчас, когда народ городит настоящие саморазворачиваемые виртуальные программные комплексы — век индустриализации или уже чуть дальше.
Snusmumriken
Прошу заметить, даже сейчас мы всё ещё пользуемся ножами. И шьём иглами. И это совсем не значит, что мы находимся в каменном веке, раз роботы не подтирают нам жопы. Сишка, асмы и прочие инструменты всё ещё актуальны, хоть и являются наследием бронзово-железного века.
Snusmumriken
Будут какие-то ответные аргументы?
anton
не сишка, а сишечка