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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    function test() {
        const ws = new WebSocket('ws://127.0.0.1:445');
        ws.addEventListener('close', event =>
            console.log('event.code = ', event.code, '; event.reason = ', event.reason)
        );
        ws.close(3500, 'some reason');
    }
    test();

    Кто угадает значения полей event.code и event.reason — тому два нихуя.
    Кто угадает значение одного из полей — тому одно нихуя.

    ISO, 10 Февраля 2022

    Комментарии (85)
  2. JavaScript / Говнокод #28001

    0

    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
    function main() {
        let arr = [1, 2, 3];
    
        const it =
            (
                function* iter() {
                    for (const v of arr)
                        yield ((x: typeof v) => x + 1)(v);
                }
            )();
    
        for (const v of it) print(v);
    
        print("done.");
    }

    продолжаем говнокодить... т.е. генерировать жуткое.. г-но :) ну как вам такой код? слабо?

    ASD_77, 10 Февраля 2022

    Комментарии (3)
  3. JavaScript / Говнокод #27998

    0

    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
    function* map<T, R>(a: T[], f:(i: T) => R)
    {
    	for (const v of a) yield f(v);
    }
    
    function main()
    {
    	let count = 0;
    	for (const v of map([1, 2, 3], (i) => { count++; return i + 1; }))
    	{
    		print(v);
    	}
    
    	assert(count == 3);
    }

    а ты, а ты так можешь на своем говно-с++ компиляторе ваять?

    ASD_77, 07 Февраля 2022

    Комментарии (265)
  4. JavaScript / Говнокод #27991

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    function fib<T>(n: T) {
        return n <= 2 ? n : fib(n - 1) + fib(n - 2);
    }
    
    function main()
    {
      print (fib(5));
      print (fib(6.0));
    }

    я вам принес "рекурсивные генерики"..... внимание вопрос... а каким таким хером получилось вычеслить тут возвращаемый тип, а ?

    ASD_77, 04 Февраля 2022

    Комментарии (84)
  5. JavaScript / Говнокод #27989

    0

    1. 1
    http://motherfuckingwebsite.com

    <!-- yes, I know...wanna fight about it? -->
    <script>
    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

    ga('create', 'UA-45956659-1', 'motherfuckingwebsite.com');
    ga('send', 'pageview');
    </script>


    Лол кек чебурек

    3_dar, 04 Февраля 2022

    Комментарии (8)
  6. JavaScript / Говнокод #27984

    0

    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
    function some<T>(arr: T[], f: (it: T) => boolean) : boolean
    {
    	let r = false;
    	for (const v of arr) if (r ||= f(v)) break;
    	return r;
    }
    
    function main() {
        let str = [1.0, 2.0, 3.0];
        assert(some(str, (x => x == 2.0)), "sometrue");
        assert(!some(str, (x => x < 0)), "somefalse");
        print("done.");
    }

    Ну что скажите про мои "генерики" ? вам нравиться? А кто знает какой челенж я тут проходил пока написал эту часть компилятора... (даю подстказку - проблема в определении типов для лямбды)

    ASD_77, 02 Февраля 2022

    Комментарии (17)
  7. JavaScript / Говнокод #27979

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    function main() {
        print("testArrayFoEach");
        [1, 2, 3].forEach(x => print(x))
        print("done.");
    }

    вот... проимплементил ненужную никому хрень :) чето я устал дампики постить.. и так поймете все что надо :)

    ASD_77, 31 Января 2022

    Комментарии (9)
  8. JavaScript / Говнокод #27958

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    public getWay(path: string) {
        const arrPath = path.slice(1).split('/');
    
        arrPath.map(item => {
          this.crumbs.push(MathcPath[item]);
          this.crumbs = this.crumbs.filter(crumb => crumb);
        });
    }

    Используем map в качестве forEach + зачем-то фильтруем полученный массив в каждой итерации.
    Причем этот код можно записать в одну строку, которая еще и будет работать быстрее.

    kage-senshi, 17 Января 2022

    Комментарии (11)
  9. JavaScript / Говнокод #27957

    0

    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
    // @strict: true
    // @lib: es2020
    // @declaration: true
    type BadFlatArray<Arr, Depth extends number> = {
        obj: {
            "done": Arr,
            "recur": Arr extends ReadonlyArray<infer InnerArr>
            ? BadFlatArray<InnerArr, [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]>
            : Arr
        }[Depth extends -1 ? "done" : "recur"]
    }["obj"];
    
    declare function flat<A, D extends number = 1>(
        arr: A,
        depth?: D
    ): BadFlatArray<A, D>[]
    
    function foo<T>(arr: T[], depth: number) {
        return flat(arr, depth);
    }
    
    function main() {
        foo<number>([1.0, 2.0], 2);
    }

    спорим вы нихрена не поняли что это такое?

    ASD_77, 16 Января 2022

    Комментарии (12)
  10. JavaScript / Говнокод #27955

    0

    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
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    namespace Generics {
    
        function swap<T>(arr: T[], i: number, j: number): void {
            let temp: T = arr[i];
            arr[i] = arr[j];
            arr[j] = temp;
        }
    
        function sortHelper<T>(arr: T[], callbackfn?: (value1: T, value2: T) => number): T[] {
            if (arr.length <= 0 || !callbackfn) {
                return arr;
            }
            let len = arr.length;
            // simple selection sort.
            for (let i = 0; i < len - 1; ++i) {
                for (let j = i + 1; j < len; ++j) {
                    if (callbackfn(arr[i], arr[j]) > 0) {
                        swap(arr, i, j);
                    }
                }
            }
            return arr;
        }
    
        export function arraySort<T>(arr: T[], callbackfn?: (value1: T, value2: T) => number): T[] {
            return sortHelper(arr, callbackfn);
        }
    }
    
    function main() {
        print("testGenerics")
        let inArray = [4.0, 3.0, 4593.0, 23.0, 43.0, -1.0]
        Generics.arraySort(inArray, (x: number, y: number) => { return x - y })
        let expectedArray = [-1.0, 3.0, 4.0, 23.0, 43.0, 4593.0]
        for (let i = 0; i < expectedArray.length; i++) {
            assert(inArray[i] == expectedArray[i])
        }
    }

    ну вот и все.. можно считать последний говнокод... подходит миссия к концу.... и ... потом заархивить все и положить на полочку

    ASD_77, 15 Января 2022

    Комментарии (29)