1. C# / Говнокод #19230

    −104

    1. 1
    2. 2
    3. 3
    ((Action)(() =>
    {
    }))();

    Екатерина Фоменок делится умениями C#

    Запостил: MAD_DEL, 24 Декабря 2015

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

    • вот нормальный говнокод, короткий и уебанский.
      Ответить
    • Вот это экшОн
      Ответить
    • Порт на c++11:
      ([](){})();
      Ответить
      • Это https://ru.wikipedia.org/wiki/Панграмма для скобок?
        Ответить
        • Жалко, что <> к лямбдам не применить.
          Ответить
          • ([](){??<??>})();
            Ответить
            • Триграфы?
              Ответить
              • Триграфы.
                Ответить
                • Триграфы!
                  Ответить
                  • А тетраграфы в каком-нибудь языке программирования есть?
                    Ответить
                    • А пентаграфы?
                      Ответить
                    • Можно собирать диграфы из триграфов, это считается?
                      Ответить
                      • > собирать диграфы из триграфов
                        Можно пример?
                        Ответить
                      • Присоединяюсь к просьбе Борманда. В Си диграфы собираются из символов <, >, :, %, для которых нет триграфов.

                        В каком ЯП можно собрать диграфы из триграфов?

                        P.S. Хотя если ##, ||, |=, ^= и \\ считать диграфами, то можно.
                        Ответить
                        • Позорно сливаюсь.
                          Ответить
                          • Всё же замечу, что тетраграфы и гексаграфы составить можно:

                            ??!= эквивалентно |=
                            ??'= эквивалентно ^=

                            ??!??! эквивалентно ||
                            ??/??/ эквивалентно \\
                            ??=??= эквивалентно ##

                            Можно вспомнить ещё что-нибудь с бэкслешами, например, ??/" для экранирования кавычек.
                            Ответить
                            • Вообще, формально говоря, bitand из плюсов является чистым гексаграфом. Как и прочие and_eq. Но это уже откровенное натягивание совы на глобус.
                              Ответить
            • (??(??)()??<??>)();
              Ответить
              • Надо было ещё три недельки подождать, чтоб ровно через год ответить.
                Ответить
      • Порт не совсем полный
        static_cast<void(*)()>([]{})();
        Ответить
        • Чтобы поменьше букв: ((void(*)())([](){}))();

          P.S. Интересно, а можно ли на этих скобках можно запилить какое-нибудь лямбда-исчисление... Хотя бы нумералы чёрча...
          Ответить
          • Лучше так:
            ((void(*)())(<::>()<%%>))();
            Ответить
          • > Чтобы поменьше букв:

            Похоже, минимально возможное число знаков (букв нет вообще, т.е. на 4 меньше):
            (+[](){})();

            #include <iostream>
            #include <typeinfo>
            #include <cxxabi.h>
            
            int main() {
              int status;
              std::cout << "Type as is: " << abi::__cxa_demangle(typeid( [](){}).name(), 0, 0, &status) << std::endl;
              std::cout << "Type with+: " << abi::__cxa_demangle(typeid(+[](){}).name(), 0, 0, &status) << std::endl;
              return 0;
            }
            Output:
            Type as is: main::{lambda()#1}
            Type with+: void (*)()
            Ответить
          • Запилил нетипизированные нумералы Чёрча в https://ideone.com/MEL0Ot
            Семёрка им. Чёрча как (2*(2+2)-1):
            console.log("7 is", unary([](var n){return unary([n](var f){return unary([n,f](
            var x){return n(unary([f,x](var g){return unary([f,g,x](var h){return h(g(f));}
            );}))(unary([x](var u){return x;}))(unary([](var u){return u;}));});});})(unary
            ([](var m){return unary([m](var n){return unary([m,n](var f){return m(n(f));});
            });})(unary([](var n){return unary([n](var f){return unary([n,f](var x){return
            f(n(f)(x));});});})(unary([](var n){return unary([n](var f){return unary([n,f](
            var x){return f(n(f)(x));});});})(unary([](var f){return unary([f](var x){return
            x;});}))))(unary([](var m){return unary([m](var n){return m(unary([](var n){
            return unary([n](var f){return unary([n,f](var x){return f(n(f)(x));});});}))(n)
            ;});})(unary([](var n){return unary([n](var f){return unary([n,f](var x){return
            f(n(f)(x));});});})(unary([](var n){return unary([n](var f){return unary([n,f]
            (var x){return f(n(f)(x));});});})(unary([](var f){return unary([f](var x){
            return x;});}))))(unary([](var n){return unary([n](var f){return unary([n,f](var
            x){return f(n(f)(x));});});})(unary([](var n){return unary([n](var f){return
            unary([n,f](var x){return f(n(f)(x));});});})(unary([](var f){return unary([f](
            var x){return x;});}))))))(unary([](var x){return x+1;}))(0));
            Ответить
            • А у меня, а у меня! есть генератор чисел Чёрча в бинарном представлении и списков
              https://gist.github.com/k32/84cc73f720a5ea116c92bbd715e1a963

              Очень полезно для печатания строк:
              https://ideone.com/5Vrehk
              Ответить

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