1. Куча / Говнокод #14527

    +128

    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
    28. 28
    29. 29
    mixin template GenerateAutoDispose()
    {
        void dispose()
        {
            foreach_reverse(i,t;this.tupleof)
            {
                static if(staticIndexOf!(auto_dispose,__traits(getAttributes, this.tupleof[i])) != -1)
                {
                    static if(isArray!(typeof(t)))
                    {
                        foreach(t1;t)
                        {
                            if(t1 !is null)
                            {
                                t1.dispose();
                            }
                        }
                    }
                    else
                    {
                        if(t !is null)
                        {
                            t.dispose();
                        }
                    }
                }
            }
        }
    }

    http://pastebin.com/2x2k7ngR

    Запостил: LispGovno, 08 Февраля 2014

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

    • Ответить
    • D lang такой упоротый :) И при этом что-то понятно даже без его изучения; по крайней мере, я так полагаю.
      Если у авторов языка действительно была задумка заменить C++, то она имела фундаментальный недостаток в виде сборщика мусора.
      Ответить
      • Плюсую. Сборщик зря запилили. Убили язык фактически. Консервативный сборщик вообще не нужен.
        Ответить
        • ну типа чтобы снизить порог вхождения. с мемориликами и овердебаггингом
          Ответить
    • Это лишп?
      Ответить

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