Jak deklarovat funkci metodu vazby pro strojopis

hlasů
1

Snažím se používat Mootools spolu s psacím stroji. Mootools, a některé moderní prohlížeče podporují .bind metoda, která je polymorfní.

Jak mohu tuto funkci správně deklarovat v souboru * .d.ts, aby bylo možné používat pojmy jako [1,2] .map (this.foo.bind (this)); ?

Vím, že mohu vyhnout takové konstrukty pomocí lambdy, ale někdy mi nechce.

Možná, že je souboru mootools.d.ts někde, které bych mohl stáhnout namísto objevování to sám?

Položena 08/10/2012 v 17:35
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
1

Strojopis je lib.d.ts již definuje podpis vázat funkci v rozhraní funkce takto:

bind(thisArg: any, ...argArray: any[]): Function;

Nemyslím si, že existuje nějaký lepší způsob, jak to udělat, dokud generika dostat přidáno do jazyka.

V současné době i když, pokud chcete použít vážou a příjemce výsledné funkce očekává konkrétní podpis, budete muset obsazení funkce zpět do tohoto podpisu:

var bfn : (p: number) => string;
bfn = <(p: number) => string> fn.bind(ctx);
Odpovězeno 08/10/2012 v 19:03
zdroj uživatelem

hlasů
0

Tam je rostoucí seznam definičních souborů sledovány zde .

Pokud jde o generování metody předem navázaným na své tohoto ukazatele na stroji jsem navrhl dva způsoby, jak to udělat. 1) jednoduchá základní třídy I definovány na konci tohoto vlákna . a 2) pokročilejší mixin a atribut systém zde .

Odpovězeno 08/10/2012 v 18:48
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more