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

    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
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    namespace Ifaces {
        interface IFoo {
            foo(): number;
            bar(x: number): string;
            twoArg(x: number, y: number): number;
            baz: string;
        }
    
        class A implements IFoo {
            constructor() {
                this.baz = "Q" + "A";
            }
            foo(): number {
                return 12;
            }
            bar(v: number) {
                return v.toString();
            }
            twoArg(x: number, y: number) {
                return x;
            }
            baz: string;
        }
        class B extends A {
            foo(): number {
                return 13;
            }
        }
    
        function foo(f: IFoo) {
            return "" + f.foo() + f.baz + f.bar(42);
        }
    
        export function run() {
            print("Ifaces.run");
            let a = new A();
            assert("" + foo(a) + "X" == "12.QA42.X");
            assert((a as IFoo).twoArg(1, 2) == 1, "t");
            a = new B();
            assert("" + foo(a) + "X" == "13.QA42.X", "b");
            let q = a as IFoo;
            q.baz = "Z";
            assert("" + foo(q) + "X" == "13.Z42.X", "x");
            print("Ifaces.runDONE");
        }
    }
    
    function main() {
        Ifaces.run();
        print("done.");
    }

    хотел оставить вас в покое. но не смог. Ловите - fields в интерфейсах

    ASD_77, 01 Августа 2021

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

    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
    namespace InstanceOf {
    
        class Foo {
            x: number
            y: string
            bar() {
                return this.x
            }
        }
    
        class Bar extends Foo { }
        class Baz extends Foo { }
        class Bar2 extends Bar { }
        class Bar3 extends Bar { }
    
        export function run() {
            print("InstanceOf")
    
            assert(new Bar2() instanceof Foo, "if")
            assert(new Bar2() instanceof Bar, "ib")
            assert(new Bar2() instanceof Bar2, "ib2")
            assert(new Bar3() instanceof Bar, "ib")
            assert(!(new Bar2() instanceof Baz), "!ib")
            assert(!(new Foo() instanceof Baz), "!ib2")
            assert(!(new Foo() instanceof Bar), "!ib2")
    
            (new Foo()).bar();
            (new Bar3()).bar();
        }
    }
    
    function main()
    {
      InstanceOf.run()
      print("done");
    }

    Возрадуйтесь братья и сестры. я вам принес зачатки RTTI :) и узрите этот дампик во очию.

    ASD_77, 29 Июля 2021

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

    +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
    namespace Ifaces {
        interface IFoo {
            foo(): number;
        }
    }
    
    class Cls1 implements Ifaces.IFoo
    {
    	foo(): number
    	{
    		print("Hello");
    		return 1;
    	}
    }
    
    function main()
    {
    	const cls1 = new Cls1();
    	cls1.foo();
    
    	const ifoo: Ifaces.IFoo = cls1;
    	ifoo.foo();
    }

    Алилуя. я вам интерфейсы принес... узрите теперь дампик

    ASD_77, 27 Июля 2021

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

    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
    let glb1 = 0;
    
    function doubleIt(f: (x: number) => number) {
        return f(1) - f(2);
    }
    
    function testLambdas() {
        let x = doubleIt(k => k * 108);
    
        assert(x == -108, "l0");
    }
    
    function main() {
        testLambdas();
        print("done.");
    }

    я вам еще принес новых фич.

    ASD_77, 20 Июля 2021

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

    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
    class XFoo {
        pin: number;
        buf: number[];
    
        constructor(k: number, l: number) {
            this.pin = k - l;
        }
    
        setPin(p: number) {
            this.pin = p;
        }
    
        getPin() {
            return this.pin;
        }
    
        init() {
            this.buf = [1, 2];
        }
    
        toString() {
            return `Foo${this.getPin()}`;
        }
    }
    
    function main() {
        let f = new XFoo(44, 2);
        let s = "" + f;
        print(s);
    }

    я вам тут хрень принес.. новая фича :)

    ASD_77, 19 Июля 2021

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

    +2

    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
    abstract class Department {
        constructor(public name: string) {}
    
        printName(): void {
            print("Department name: " + this.name);
        }
    
        abstract printMeeting(): void; // must be implemented in derived classes
    }
    
    class AccountingDepartment extends Department {
        constructor() {
            super("Accounting and Auditing"); // constructors in derived classes must call super()
        }
    
        printMeeting(): void {
            print("The Accounting Department meets each Monday at 10am.");
        }
    
        generateReports(): void {
            print("Generating accounting reports...");
        }
    }
    
    function main() {
        let department: Department; // ok to create a reference to an abstract type
        department = new AccountingDepartment(); // ok to create and assign a non-abstract subclass
        department.printName();
        department.printMeeting();
        //department.generateReports(); // error: department is not of type AccountingDepartment, cannot access generateReports
        print("done.");
    }

    Алилуя - я вам абстракты принес :)

    ASD_77, 16 Июля 2021

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

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    /* В отдельном файле */
    function Skif_Email(auth,em) {
    	em = em.substring(3,em.length-3);
    	auth = auth.substring(4,auth.length-4);
    	document.write('<a href="mailto:',em,'" title="Защищён от спам-роботов">',auth,'</a>');
    }
    
    /* На странице */
    
    <script type="text/javascript">Skif_Email('[email protected]', '[email protected]');</script>

    Какая защита )))

    HEu3BECTHblu_nemyx, 16 Июля 2021

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

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    class Point {
      x = 0;
      y = 0;
    }
    
    function main() {
      const pt = new Point();
      // Prints 0, 0
      print(`${pt.x}, ${pt.y}`);
    }

    вот пока вы тут языки чесали - я наваял новую фичу. а кто догадается что особенного в этом классе? в чем фича?

    ASD_77, 12 Июля 2021

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

    +2

    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
    class Animal {
        name: string;
    
        constructor(name: string) {
            this.name = name;
        }
    
        speak() {
            print(`${this.name} makes a noise.`);
        }
    }
    
    class Dog extends Animal {
        constructor(name: string) {
            super(name); // call the super class constructor and pass in the name parameter
        }
    
        speak() {
            print(`${this.name} barks.`);
        }
    }
    
    function main() {
        let d = new Dog("Mitzie");
        d.speak(); // Mitzie barks.
        print(d.name);
    }

    Я вам принес нового говнокода для нового говнокомпилятора.... дамп в следующем посту

    ASD_77, 12 Июля 2021

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

    +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
    async Create(id, subscribe_yyyymmdd) {
      const query = "INSERT INTO users(id,subscribe_yyyymmdd) VALUES ($1,$2) RETURNING *";
      const values = [id, subscribe_yyyymmdd];
      try {
        const result = await this.db.query(query, values);
        return result.rows[0].id;
      } catch (error) {
        this.logger.error(error);
      }
    },
    
    async Update() {
      const query = "UPDATE users SET subscribe_yyyymmdd = $1 where id=$2 RETURNING *";
      const values = [id, subscribe_yyyymmdd];
      try {
        const result = await this.db.query(query, values);
        return result.rows[0].id;
      } catch (error) {
        this.logger.error(error);
      }
    },

    Из https://vk.com/wall521764930_6553 .

    PolinaAksenova, 11 Июля 2021

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