1. JavaScript / Говнокод #27762

    −1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    let glb1 = 0;
    
    class Color {
        static constructor() {
            glb1++;
            print("Static construct");
        }
    
        constructor(public r: number,
            public g: number,
            public b: number) {
        }
    
        static white = 1;
    }
    
    class Color2 {
        static constructor() {
            glb1++;
            print("Static construct 2");
        }
    }
    
    function main() {
        assert(glb1 == 2);
        print("done.");
    }

    добавил статические кострукторы... а то забыл эту хню сделать

    Запостил: ASD_77, 21 Октября 2021

    Комментарии (25) RSS

    • показать все, что скрытодаже и не знаю давать вам дампик или не заслужили
      Ответить
    • Они сразу после инициализации рантайма вызываются?
      Ответить
      • показать все, что скрытоугу
        Ответить
        • Не хорошо это. Лучше сделать запуск статических конструкторов непосредственно при использовании классов. Так можно ресурсы сэкономить и избежать дыры в безопасности.
          Ответить
          • показать все, что скрытотакая архитектура... у меня нет динамических классов.. если надо динамические классы то юзайте яжу или си шарп
            Ответить
            • А у меня в Си никаких "классов" вообще нет, только структуры и функции.
              Ответить
            • што такое "динасмические классы"?
              Ответить
              • https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/types/walkthrough-creating-and-using-dynamic-objects

                Dynamic objects expose members such as properties and methods at run time, instead of at compile time. This enables you to create objects to work with structures that do not match a static type or format.
                Ответить
                • > You can create custom dynamic objects by using the classes in the System.Dynamic namespace. For example, you can create an ExpandoObject and specify the members of that object at run time. You can also create your own type that inherits the DynamicObject class. You can then override the members of the DynamicObject class to provide run-time dynamic functionality.

                  В "Си" можно сделать структуру, в структуре указатель на массив из указателей на функции, и в тот массив из указателей на функции можно добавлять указатели на какие-то новые функции или переписывать существующие, и вот это будут типа "динамические методы".

                  В контроллерах такая хуйня естественно нахуй не нужна
                  Ответить
                  • Да, на сишке можно написать рантайм "динамического" языка. Тысячи их.
                    Ответить
                    • Вот ведь какой парадокс: S/S++ - настолько убогий язык, что белые люди создают свои языки, лишь бы не программировать на этом говне; но интерпретаторы и компиляторы этих языков разработаны на... S/S++. Как такое возможно?
                      Ответить
                      • Вот конпелятор как раз не обязательно писать на няшной. И зачастую он на самом себе написан.
                        Ответить
                        • Это зависит. Если это какой-нибудь JIT-компилятор, лучше бы его писать на чем-то низкоуровневом, а не на JS например.
                          Ответить
                          • показать все, что скрыторади правды я хотел сказать про Lazy классы - которые инициализируются на первом доступе..
                            Ответить
                          • А фиг знает...

                            Если джит годный получился, то он и сам себя сможет заджитить в достаточно эффективный код. Главное какие-то тяжёлые и динамичные фичи в нём не юзать, ну в общем-то как и в сишке.
                            Ответить
                          • Кстати, а вот какой-нибудь форт этот JIT или AOT?

                            С одной стороны он конпеляет код прям в рантайме, а с другой всё-таки заранее, до первого использования.
                            Ответить
                      • показать все, что скрытоhttp://img2.joyreactor.cc/pics/post/it-%D1%8E%D0%BC%D0%BE%D1%80-geek-c%2B%2B-%D1%8F%D0%B7%D1%8B%D0%BA%D0%B8-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0% BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D 0%BD%D0%B8%D1%8F-6979444.jpeg
                        Ответить
          • > дыры

            А в чём дыра? В неопределённости порядка инициализации, как в крестах?
            Ответить
        • у всех-всех-всех классво?
          Ответить
    • Зачем ты занимаешься этой хуйнёй?
      Ответить
    • а я знаю кто бота-минусера написал
      Ответить

    Добавить комментарий